Utwórz kolekcję bazy danych
Aby omówić użycie operatora „$ CurrentDate” w MongoDB, przyjrzymy się niektórym praktycznych przykładach. Wcześniej musisz mieć odpowiednią konfigurację MongoDB na końcu. Po skonfigurowaniu utwórz nową bazę danych „Test” w swoim systemie. Schematy MongoDB działają tylko w kolekcjach z dokumentami dokumentacji. Dlatego w końcu tworzymy prostą kolekcję „czasu” w bazie danych „test” do użycia w dostarczonych przykładach. Metoda MongoDB's CreateCollection () jest używana tutaj z słowem kluczowym „DB” w tym celu. Kolekcja o nazwie „Time” jest ostatecznie tworzona zgodnie z wyjściem „OK: 1”.
Test> db.CreateCollection („czas”)Próbując zapytania metody „Znajdź”, aby wyświetlić rekordy kolekcji „Time” na interfejsie linii poleceń MongoDB, sprawiliśmy, że jest pusta, ponieważ nie dodaliśmy jeszcze żadnych rekordów.
Test> db.Czas.znajdować()Dodaj rekordy do kolekcji MongoDB
Dlatego najwyższy czas dodać niektóre pola danych w kolekcji „czasu” bazy danych „testowych”. Te zapisy powinny zawierać co najmniej jedno pole, które jest wykorzystywane do przechowywania aktualnej „daty”. Zatem funkcja wstawiania „MongoDB” jest wykonywana, aby dodać w sumie 3 rekordy w kolekcji „czasu” bazy danych „Test”. Dzięki temu procesowi powłoka wiersza polecenia MongoDB jest używana do wykonywania zapytania „DB” z nazwą kolekcji, która jest „testem”. Każdy z rekordów zawiera trzy pola, podczas gdy ostatnie pole, „DateTime”, aby przechowywać bieżącą datę. Dodajemy w nim manekin, aby uruchomić zapytanie. Po uruchomieniu tego zapytania na powładzie MongoDB otrzymujemy komunikat potwierdzenia, który pokazano na poniższym załączonym zdjęciu:
Test> db.Czas.INSERTMANY ([ID: 1, kraj: „Ameryka”, DT: Timestamp (166471552, 3),Aby odpowiedzieć na dodane rekordy dla konkretnej kolekcji „czasu” w MongoDB, musisz użyć zapytania „Znajdź” w taki sam sposób, jak podczas tworzenia kolekcji. Zdjęcie wyjściowe dla następujących wymienionych zapytania pokazuje trzy osobne rekordy, każda z tym samym pola nazwy:
Test> db.Czas.znajdować()Przykład 1: Ustaw bieżącą datę dla pojedynczego rekordu
Teraz, gdy skończymy z dodaniem niektórych rekordów w kolekcji „czasu” bazy danych, modyfikujemy pole „DT”, aby przekonwertować jego wartość na bieżącą datę. Dlatego funkcja updateOne () MongoDB jest odrzucana w instrukcji powłoki „DB” MongoDB. Użyj poprawnej nazwy do modyfikacji kolekcji. To zapytanie rozpoczyna się od pola identyfikacyjnego, takiego jak „id”, aby rekord został zaktualizowany. Oprócz tego operator $ CurrentDate jest rzucony, aby ustawić pole „DT” na „True”, ustawiając bieżącą datę. Po uruchomieniu tej instrukcji otrzymujemy „prawdziwe” potwierdzenie i liczbę modyfikacji jako „1”.
Test> db.Czas.aktualizacja (id: 1, $ currentDate: dt: true)Teraz, gdy pole „DT” z pierwszego rekordu kolekcji „Time” jest aktualizowane za pomocą operatora „$ CurrentDate”, patrzymy na jego zaktualizowaną wersję w powładzie MongoDB. Tak więc, po wspomnieniu o „id: 1” w zapytaniu „Znajdź”, otrzymujemy zmodyfikowany rekord na naszym ekranie powłoki. Wartość pola „DT” jest teraz ustawiona na bieżącą datę.
Test> db.Czas.Znajdź (id: 1)Przykład 2: Ustaw datę na znacznik czasu dla pojedynczego rekordu
Teraz przechodzimy w kierunku ilustracji, aby przekonwertować prostą wartość pola bieżącego daty na powiązany konkretny znacznik czasu w najprostszy sposób. W tym celu musimy upewnić się, że rekord w polu związanym z datą musi zawierać wartość daty posiadającą standardowy format daty. Wyjście poprzedniego przykładu pokazuje, że pole „DT” ma standardowy format daty. W tym przypadku używamy funkcji updateOne () do modyfikacji pola „DT” kolekcji „Time”. Zapytanie zaczyna się od słowa kluczowego „DB” w MongoDB, a następnie produkt kropkowy z funkcją „Time” i funkcji updateOne (). Typ pola „DT” jest ustawiony na format „znacznik czasu”. Jedna aktualizacja jest odzwierciedlona.
Test> db.Czas.updateOne (id: 1, $ currentDate: dt: $ type: „mimestamp”))Po znalezieniu trzech rekordów kolekcji „Time” za pomocą funkcji „Znajdź” w zapytaniu „DB”, otrzymujemy pierwszy rekord z powrotem do oryginalnego formatu znacznika czasu, tak samo jak inne rekordy.
Test> db.Czas.znajdować()Przykład 3: Timestamp do bieżącej daty w wielu rekordach
Poprzednie przykładowe dane wyjściowe ilustruje, że mamy teraz wartość pola „DT” w formacie typu „znacznik czasu” daty dla wszystkich trzech rekordów kolekcji. Musimy rzucić okiem na sposób konwersji wszystkich formatów typu „znacznik czasu” na standardowy format bieżącej daty w jednym zysku dla wszystkich rekordów. Zastosowana jest tutaj metoda „UpdateMany” MongoDB. Operator „$ currentDate” jest stosowany do pola „DT”, ustawiając jego wartość na „true” dla wszystkich rekordów „”. Ta operacja jest skuteczna, jak wyświetla wyjście:
Test> db.Czas.UpdateMny (, $ currentDate: dt: true)Po uruchomieniu instrukcji Znajdź wszystkie trzy rekordy kolekcji „czasu”, które są wyświetlane na obrazie, pokazują, że znacznik czasu jest sformatowany do standardowego formatu daty.
Test> db.Czas.znajdować()Wniosek
Po ścisłym zwróceniu uwagi na ten przewodnik, będziesz mógł szybko dowiedzieć się o podstawach korzystania z operatora „bieżącego” w MongoDB. Dostarczone ilustracje pokazują użycie operatora „$ CurrentDate”, aby ustawić dowolną wartość pola na bieżącą datę i sformatować bieżącą datę dla jego znacznika czasu. Przykłady zawierają ustawienie operatora „$ CurrentDate” dla pojedynczych rekordów, a także wielu rekordów.