MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Metoda MongoDB Date()

W MongoDB funkcja Date() metoda zwraca datę jako ciąg znaków lub jako obiekt Date.

  • Kiedy nazywasz to jako Date() , zwraca bieżącą datę jako ciąg znaków w mongo powłoka.
  • Kiedy nazywasz to jako new Date() , zwraca bieżącą datę jako obiekt Date.

Możesz również podać konkretną datę jako argument do new Date() , aby używał tej daty.

Przykład – Date()

Oto przykład wstawiania dokumentu do kolekcji i używania Date() jako wartość jednego z pól:

db.dogs.insert(
  { 
    "_id" : 1,
    "name" : "Fetch", 
    "lastModified" : Date()
  }
)

Po uruchomieniu tego kodu możemy spojrzeć na wynikowy dokument:

db.dogs.find().pretty()

Wynik:

{
	"_id" : 1,
	"name" : "Fetch",
	"lastModified" : "Wed Jan 27 2021 10:15:53 GMT+1000 (AEST)"
}

Widzimy, że lastModified pole daty używa ciągu daty jako wartości.

Przykład – new Date()

Jak wspomniano, jeśli chcesz zwrócić obiekt daty zamiast ciągu daty, użyj new Date() .

Przykład:

db.dogs.insert(
  { 
    "_id" : 2,
    "name" : "Wag", 
    "lastModified" : new Date()
  }
)

Po prostu poprzedź Date() z new daje w wyniku obiekt Date, a nie ciąg daty.

Sprawdźmy teraz ponownie kolekcję dokumentów:

db.dogs.find().pretty()

Wynik:

{
	"_id" : 1,
	"name" : "Fetch",
	"lastModified" : "Wed Jan 27 2021 10:15:53 GMT+1000 (AEST)"
}
{
	"_id" : 2,
	"name" : "Wag",
	"lastModified" : ISODate("2021-01-27T00:19:08.862Z")
}

Widzimy, że data w drugim dokumencie została opakowana za pomocą ISODate() pomocnik. Data ISO jest w UTC.

Podaj konkretną datę

Możesz podać własną datę podczas wywoływania funkcji Date() metoda.

Aby to zrobić, przekaż ciąg daty ISO-8601 z rokiem w zakresie włącznie 0 przez 9999 do new Date() konstruktora lub ISODate() funkcjonować.

Oto przykład.

db.dogs.update(
  { "_id" : 1 },
  { $set : { "born" : new Date( "2020-10-07" ) } }
)

Sprawdźmy teraz dokument:

db.dogs.find( { "_id": 1 } ).pretty()

Wynik:

{
	"_id" : 1,
	"name" : "Fetch",
	"lastModified" : "Wed Jan 27 2021 10:15:53 GMT+1000 (AEST)",
	"born" : ISODate("2020-10-07T00:00:00Z")
}

Widzimy, że pole born zostało dodane i zostało ustawione na podaną datę.

Możesz podać datę w następujących formatach.

Format Opis
YYYY-mm-dd Zwraca ISODate z określoną datą.
YYYY-mm-ddTHH:MM:ss Określa datę i godzinę w lokalnej strefie czasowej klienta i zwraca ISODate z określoną datą i godziną w UTC.
YYYY-mm-ddTHH:MM:ssZ Określa datę i godzinę w UTC i zwraca ISODate z określoną datą i godziną w UTC.
Liczba całkowita Możesz również podać liczbę całkowitą jako wartość. Kiedy to zrobisz, określa datę i czas w milisekundach od epoki Uniksa (1 stycznia 1970) i ​​zwraca wynikowy ISODate przykład.

Epoka Uniksa

Oto przykład określenia liczby całkowitej jako argumentu funkcji new Date() .

W ten sposób określa się datę i czas w milisekundach od epoki Uniksa (1 stycznia 1970) i ​​zwraca wynikową wartość ISODate przykład.

db.dogs.update(
  { "_id" : 2 },
  { $set : { "born" : new Date( 1601207768012 ) } }
)

Sprawdźmy teraz dokument:

db.dogs.find( { "_id": 2 } ).pretty()

Wynik:

{
	"_id" : 2,
	"name" : "Wag",
	"lastModified" : ISODate("2021-01-27T00:19:08.862Z"),
	"born" : ISODate("2020-09-27T11:56:08.012Z")
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak odzyskać nową wartość po aktualizacji we wbudowanej tablicy?

  2. MongoDB $currentDate

  3. MongoDB na platformie Azure:jak wybrać odpowiedni typ wystąpienia?

  4. Wykonywanie zapytań o elementy tablicy za pomocą Mongo

  5. Połącz się domyślnie z określoną bazą danych w mongodb