sql >> Databasteknik >  >> NoSQL >> MongoDB

Konvertera datum från millisekunder till ISODate-objekt

Det är faktiskt möjligt, tricket är att lägga till din millisekunders tid till ett Zero-milliseconds Date()-objekt med hjälp av syntax som liknar:

dt : {$add: [new Date(0), "$time"]}

Jag modifierade din sammanställning från ovan för att producera resultatet:

db.events.aggregate(
    {
        $project : {
            _id : "$_id",
            dt : {$add: [new Date(0), "$time"]}
        }
    },
    { 
        $project : {
            _id : "$_id",
            date : { 
                hour : {$hour : "$dt"} 
            }
        }
    }
);

Resultatet är (med en inmatning av dina exempeldata):

{
  "result": [
    {
      "_id": ObjectId("532828ac338ed9c33aa8eca7"),
      "date": {
        "hour": 11
      }
    }
  ],
  "ok": 1
}


  1. Redis/Jedis - Ta bort efter mönster?

  2. mongo grupp fråga hur man behåller fält

  3. Redis - Använder Incr-värde i en transaktion

  4. Hur använder jag anslutningspooler korrekt i Redis?