MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB-Shell-Skript, das die Projektion verwendet, um das Datum zu formatieren und die Ortszeit abzurufen

Sie können "toLocaleString()" nicht direkt verwenden. Sie können jedoch den Versatz hinzufügen.

1) Die dritte Pipeline wird verwendet, um den Offset

hinzuzufügen

2) Die vierte Pipeline wird verwendet, um das Datum zu formatieren

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"
                }
            }
      }
   }

]);

Eingabe:-

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

Ausgabe:-

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

Bitte beachten Sie die Ausgabe 2. Das nächste Datum wird korrekt ausgefüllt.