MongoDB zapewnia agregatowi operatora $ datETrunc do obcięcia danych zgodnie z daną datą. Operator $ DATETRUNC przyjmuje tylko jedną wartość daty, aby ją obciąć w formacie ISO. Argument „daty” $ datETrunc bierze wartości daty wraz z jednostką czasu. Operator $ DATETRUNC musi wymagać od tych danych wejściowych do obcięcia daty. Ponadto możemy również użyć opcjonalnych argumentów, takich jak strefa czasowa, binze i startOfWeek, aby obniżyć granicę daty w zakresie czasu. Operator $ DATETRUNC dzieli czas na przedziały czasowe w wybranym przez siebie jednostce czasowej do obliczeń.
Jak korzystać z operatora $ datETrunc w MongoDB?
Operator $ DATETRUNC jest używany w MongoDB do obcięcia danej daty. Tutaj współpracujemy z kolekcją „kwiaty”, których dokumenty są używane przez operatora $ datETrunc do demonstracji. W tym celu musimy dołączyć dokumenty w kolekcji „Kwiaty”, stosując metodę InsertMany (). Dane wyjściowe po wykonaniu polecenia dokumentów wstawiających pokazuje, że dokumenty są teraz przechowywane w kolekcji „kwiaty”.
db.Kwiaty.wstrząsZauważ, że w dokumencie znajduje się pole ustawione z wartościami daty. Zamierzamy obciąć te daty za pomocą operatora $ datETrunc MongoDB.
WriteConcernerrors: [],Przykład nr 1: Korzystanie z operatora $ DATETRUNC do obcięcia daty w MongoDB
Tutaj zamierzamy wdrożyć operator $ DATETRUNC, który po prostu pobiera skróconą datę określonej daty. Dostaliśmy zapytanie do skorupy MongoDB, w której stosuje się metodę agregowaną do przeprowadzenia pozostałych operatorów. Nazwaliśmy metodą $ Project, aby uwzględnić pola „_id” i „_order” z dopasowanego dokumentu. Następnie ustawiliśmy inne pole „TruncedResult”, które wyświetliło wyniki z operatora $ datEtrunc. Zdefiniowaliśmy operator $ DATETRUNC, który jest przekazywany z parametrem „data” i określona w polu „$ zamów” o wartości daty. Parametr $ DATA $ DATETRUNC Obcięł datę za pomocą UTC. Następnie przekazaliśmy parametr „jednostki”, w którym czas wyraża się jako ciąg „Dzień”. Wartość „dnia” wskazuje, że izodat na początek dnia, który jest zwracany przez $ datEtrunc w dniu.
db.Kwiaty.agregować ([Dane wyjściowe z powyższego operatora $ datEtrunc pokazało obcięte daty wszystkich pola dokumentu „Zamów” w polu obciętym.
[[[Przykład nr 2: Korzystanie z operatora $ DATETRUNC z argumentem Binsize w celu obcięcia daty w MongoDB
Opcjonalny argument Binsize operatora $ DATETRUNC to wartość czasowa wyrażona jako wyrażenie numeryczne. Wyrażenie liczbowe musi być dodatnią niezerową liczbą całkowitą. Gdy zarówno binsyzowanie, jak i argument jednostki są używane razem, definiują okres oceny operatora $ datEtrunc. Wzięliśmy dokument, którego pola „Typ” wartość „Whiterose”, która jest zgodna z etapem $ Match tutaj.
Następnie zdefiniowano operator $ DATETRUNC w operatorze projektu $. $ DatETrunc najpierw przyjmuje „datę”, w którym podano pole „$ zamów”, ponieważ zawiera wartości daty. Następnie ustawiliśmy dane wejściowe „jednostki” z czasem „godzina” i „binze” z wartością liczbową „2”.
db.Kwiaty.agregować ([Czas „jednostki” to „godzina”, a „binize” ma wartość „2”. Tak więc czas między obciętym datą zwrotu z operatora $ datETrunc a datą zamówienia wynosi dwie godziny.
[[[Przykład nr 3: Korzystanie z operatora $ DATETRUNC z argumentem StartOfweek w celu obcięcia daty w MongoDB
Mamy inny argument opcji „StartOfWeek” operatora $ datETrunc, który określa początek tygodnia. Argument „StartofWeek” odbywa się tylko wtedy, gdy „jednostka” to tydzień. Tutaj pozyskujemy te dokumenty z $ Match Operator, którego operator $ NIN nie wybrał w wyrażeniu. Następnie wdrożyliśmy operator $ DATETRUNC w polu $ Project Stage „Truncdate”. Argumenty są przekazywane w ramach operatora $ DATETRUNC w celu zmniejszenia daty. Opcjonalny argument „StartOfWeek” jest również ustawiony na operator $ DATETRUNC z tygodniem „środa”. Operator $ DATETRUNC ściska pole „Zamów” do „1” binze i jednostki „tydzień” w strefie czasowej UTC z środą jako startOfWeek.
db.Kwiaty.agregować ([Wyniki operatora $ datETrunc są generowane z obcięty.
[[[Przykład nr 4: Korzystanie z operatora $ datETrunc do zwrócenia NULL w MongoDB
Operator $ DATETRUNC zwraca również wartość zerową w przypadku, gdy „startOfWeek” wprowadza pole, które jest puste lub przypisane do NULL, a gdy argument jednostki ma zestaw wartości jako „tydzień”, a startOfWeek nie jest określony lub ma null wartość. Rozważmy to stwierdzenie przy przykładowym skrypcie MongoDB. Mamy nowe włączenie pola „Truncedoutput” na etapie $ Project, w którym przeprowadziliśmy operator $ DATETRUNC. Operator $ DATETRUNC przyjmuje wejście „Data” w polu „Zamów”, jednostce jako tydzień i bilansuj „2” strefy czasowej „America/Los_angeles”. Zauważ, że nie przeszliśmy operatora $ DATETRUNC z argumentem „StartOfWeek”, ponieważ tydzień jest przypisany do parametru „jednostki”.
db.Kwiaty.agregować ([Tam otrzymaliśmy wynik zerowy w polu „Truncedoutput”, ponieważ nie wprowadziliśmy argumentu „StartOfWeek” do operatora $ datetrunc, mimo że urządzenie to jest tydzień.
[[[Przykład nr 5: Korzystanie z operatora $ DATETRUNC do obcięcia daty wewnątrz operatora grupy $ w MongoDB
Wykorzystaliśmy operatora $ datETrunc na etapie grupy $ MongoDB, który ściska datę w klawiszie grupy i otrzymuje wyniki sumy określonego pola. Wdrożyliśmy etap grupy $ i dostarczyliśmy klucz grupowy „_id”, w którym powstaje nowe pole „Truncdate”, aby wykonać operację $ datETrunc. Do operatora $ datETrunc wprowadzimy „datę” jako pole „zamówienia” z czasem „miesiąca” i binanse „5”. Następnie ustawiamy kolejne pole „Dodatek”, w którym operator $ sum jest przypisany do pola $ QTY do operacji dodawania.
db.Kwiaty.agregować ([Data pola „Zamówienie” jest obcięta do pięciu miesięcy za pomocą operatora $ datETrunc w etapie grupy $, a suma wartości ilościowych jest również zwracana na wyjściu.
[[[Wniosek
Omówiliśmy operator MongoDB $ datETrunc, który działa z datą ich obcięcia. Zbadaliśmy różne argumenty operatora $ DATETRUNC z przykładami. Operator $ DATETRUNC zajmuje się tylko dokumentami pola daty w kolekcji MongoDB. Operator $ DATETRUNT jest tu używany z argumentem „Binsize” i argumentem „StartOfWeek”, które są opcjonalne, ale odgrywają ważną rolę, jednocześnie obcinając daty w MongoDB.