sql >> Database >  >> NoSQL >> MongoDB

Converteer datum van milliseconden naar ISODate-object

Het is eigenlijk mogelijk, de truc is om je milliseconden tijd toe te voegen aan een Date()-object van nul milliseconden met een syntaxis die lijkt op:

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

Ik heb uw aggregatie van bovenaf gewijzigd om het resultaat te produceren:

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

Het resultaat is (met één invoer van uw voorbeeldgegevens):

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


  1. PHP kan MongoDB-stuurprogramma niet vinden

  2. Script heeft geprobeerd een globale variabele te maken

  3. Een MongoDB-replicaset converteren naar een stand-alone server

  4. hoe krijg ik sessies werkend met redis, express &socket.io?