sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB Date() Metod

I MongoDB, Date() metod returnerar ett datum antingen som en sträng eller som ett Date-objekt.

  • När du kallar det som Date() , returnerar det aktuella datumet som en sträng i mongo skal.
  • När du kallar det som new Date() , returnerar det det aktuella datumet som ett Date-objekt.

Du kan också ange ett specifikt datum som argument till new Date() , så att den använder det datumet.

Exempel – Date()

Här är ett exempel på att infoga ett dokument i en samling och använda Date() som värde för ett av fälten:

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

Efter att ha kört den koden kan vi ta en titt på det resulterande dokumentet:

db.dogs.find().pretty()

Resultat:

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

Vi kan se att lastModified datumfältet använder en datumsträng som värde.

Exempel – new Date()

Som nämnts, om du vill returnera ett datumobjekt istället för en datumsträng, använd new Date() .

Exempel:

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

Helt enkelt föregå Date() med new resulterar i ett Date-objekt snarare än en datumsträng.

Låt oss nu kontrollera insamlingen av dokument 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 att datumet i det andra dokumentet har raderats med ISODate() hjälpare. ISODate är i UTC.

Ange ett specifikt datum

Du kan ange ditt eget datum när du ringer Date() metod.

För att göra detta, skicka en ISO-8601-datumsträng med ett år inom intervallet 0 till 9999 till new Date() konstruktor eller ISODate() fungera.

Här är ett exempel.

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

Låt oss nu kontrollera 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 att det födda fältet har lagts till och det har ställts in på det angivna datumet.

Du kan ange datumet i följande format.

Format Beskrivning
YYYY-mm-dd Returnerar ISODate med angivet datum.
YYYY-mm-ddTHH:MM:ss Anger datum och tid i klientens lokala tidszon och returnerar ISODate med angiven datumtid i UTC.
YYYY-mm-ddTHH:MM:ssZ Anger datum och tid i UTC och returnerar ISODate med angiven datumtid i UTC.
Heltal Du kan också ange ett heltal som värdet. När du gör detta specificerar den datetime som millisekunder sedan Unix-epoken (1 januari 1970), och returnerar den resulterande ISODate instans.

Unix Epoch

Här är ett exempel på hur du anger ett heltal som argument till new Date() .

Om du gör detta specificeras datum och tid som millisekunder sedan Unix-epoken (1 januari 1970), och returnerar den resulterande ISODate instans.

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

Låt oss nu kontrollera 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. Kontrollera om ett fält innehåller en sträng

  2. Använder Redis SCAN i NODE

  3. Importera en CSV-fil till MongoDB med mongoimport

  4. Keras förutspår inte att återvända till selleriuppgiften