sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB Date() metode

I MongoDB er Date() metoden returnerer en dato enten som en streng eller som et Dato-objekt.

  • Når du kalder det som Date() , returnerer den den aktuelle dato som en streng i mongo skal.
  • Når du kalder det som new Date() , returnerer den den aktuelle dato som et Dato-objekt.

Du kan også angive en bestemt dato som argument til new Date() , så den bruger den dato.

Eksempel – Date()

Her er et eksempel på at indsætte et dokument i en samling og bruge Date() som værdien for et af felterne:

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

Efter at have kørt den kode, kan vi tage et kig på det resulterende dokument:

db.dogs.find().pretty()

Resultat:

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

Vi kan se, at lastModified datofeltet bruger en datostreng som værdi.

Eksempel – new Date()

Som nævnt, hvis du vil returnere et datoobjekt i stedet for en datostreng, skal du bruge new Date() .

Eksempel:

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

Du skal blot foranstille Date() med new resulterer i et Dato-objekt i stedet for en datostreng.

Lad os nu tjekke indsamlingen af ​​dokumenter igen:

db.dogs.find().pretty()

Resultat:

{
	"_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")
}

Vi kan se, at datoen i det andet dokument er blevet pakket med ISODate() hjælper. ISO-datoen er i UTC.

Angiv en specifik dato

Du kan angive din egen dato, når du kalder Date() metode.

For at gøre dette skal du videregive en ISO-8601-datostreng med et år inden for det inklusive 0 til 9999 til new Date() konstruktør eller ISODate() fungere.

Her er et eksempel.

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

Lad os nu tjekke dokumentet:

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

Resultat:

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

Vi kan se, at det fødte felt er blevet tilføjet, og det er sat til den angivne dato.

Du kan angive datoen i følgende formater.

Format Beskrivelse
YYYY-mm-dd Returnerer ISODate med den angivne dato.
YYYY-mm-ddTHH:MM:ss Specificerer dato og klokkeslæt i klientens lokale tidszone og returnerer ISODate med den angivne dato og klokkeslæt i UTC.
YYYY-mm-ddTHH:MM:ssZ Specificerer dato og klokkeslæt i UTC og returnerer ISODate med den angivne dato og klokkeslæt i UTC.
Heltal Du kan også angive et heltal som værdi. Når du gør dette, angiver den dato og klokkeslæt som millisekunder siden Unix-epoken (1. januar 1970), og returnerer den resulterende ISODate forekomst.

Unix Epoch

Her er et eksempel på at angive et heltal som argumentet til new Date() .

Hvis du gør dette, angives dato og klokkeslæt som millisekunder siden Unix-epoken (1. januar 1970), og returnerer den resulterende ISODate eksempel.

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

Lad os nu tjekke dokumentet:

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

Resultat:

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


  1. ServiceStack.Net Redis:Lagring af relaterede objekter vs. relaterede objekt-id'er

  2. Automatiser databasesundhedstjek

  3. Fjern dubletter, når du bruger $unionWith i MongoDB

  4. Hadoop Partitioner – Lær det grundlæggende i MapReduce Partitioner