sql >> Databáze >  >> NoSQL >> MongoDB

Převést datum z milisekund na objekt ISODate

Ve skutečnosti je to možné, trik je přidat svůj čas v milisekundách k objektu Date() s nulou milisekund pomocí syntaxe podobné:

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

Upravil jsem vaši agregaci shora, abych vytvořil výsledek:

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

Výsledek je (s jedním zadáním vašich ukázkových dat):

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


  1. Jak exportovat výsledky dotazu MongoDB do souboru CSV

  2. Třídění bez ohledu na velikost písmen v MongoDB

  3. Jak zkontrolovat, zda pole pole obsahuje jedinečnou hodnotu nebo jiné pole v MongoDB?

  4. Jak vytisknout více než 20 položek (dokumentů) v prostředí MongoDB?