sql >> Database >  >> NoSQL >> MongoDB

MongoDB-shellscript met projectie om datum te formatteren en lokale tijd te krijgen

U kunt "toLocaleString()" niet rechtstreeks gebruiken. U kunt echter de offset toevoegen.

1) Derde pijplijn wordt gebruikt om de offset toe te voegen

2) Vierde pijplijn wordt gebruikt om de datum op te maken

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

]);

Invoer:-

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

Uitvoer:-

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

Let op output 2. De volgende datum is correct ingevuld.




  1. Mongoose, trek uit subdocument

  2. Kan Mongolab niet verbinden met MongodbShell

  3. MongoDB - hoe een record in te voegen met de functie voor automatisch verhogen

  4. Express change-sessie elk verzoek