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

Shell skript MongoDB využívající projekci k formátování data a získání místního času

Nemůžete přímo použít "toLocaleString()". Můžete však přidat posun.

1) Třetí potrubí se používá k přidání offsetu

2) Čtvrtý kanál se používá k formátování data

var tzOffset = 5.5 * 1000 * 60 * 60;

db.MyCollection.aggregate( [
   { "$match": { "ProjectID" : 999 } },
   { "$sort": { "CreatedDate": -1 } },
   {          
      $project: {
         localTime: {
            $let: {
               vars: {
                   "localTime": { "$add": [ "$DueDate", tzOffset]

                }
               },
               in: { $add: ["$$localTime"] }
            }
         }
      }
   },
   {          
      $project: {
         "_id": 0, 
         "formattedLocalTime": {
                "$dateToString": { 
                    "format": "%Y-%m-%d %H-%M", 
                    "date": "$localTime"
                }
            }
      }
   }

]);

Vstup:-

"DueDate" : ISODate("2016-08-11T10:17:09.203Z")
"DueDate" : ISODate("2016-08-11T23:16:09.203Z")

Výstup:-

"formattedLocalTime" : "2016-08-11 15-47"
"formattedLocalTime" : "2016-08-12 04-46"

Všimněte si prosím výstupu 2. Další datum je vyplněno správně.




  1. Jak třídit pole dílčích dokumentů v mongoose/mongodb?

  2. Aktualizace konkrétního prvku v poli pomocí MongoDB / Meteor

  3. Redis připojení/limit velikosti vyrovnávací paměti překročen

  4. Strojové fondy a cloudové profily pro MongoDB