sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB shell script ved hjælp af projektion til at formatere dato og få lokal tid

Du kan ikke direkte bruge "toLocaleString()". Du kan dog tilføje forskydningen.

1) Tredje pipeline bruges til at tilføje offset

2) Fjerde pipeline bruges til at formatere datoen

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

]);

Input:-

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

Output:-

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

Bemærk venligst output 2. Den næste dato er udfyldt korrekt.




  1. Få et enkelt objekt fra mongodb i C#

  2. MongoDB UpdateFirst-metodebrug

  3. $unset på flere felter i mongodb

  4. node-mongodb-native:Hvordan kan jeg dele db api-objektet for forbindelsesopkaldet gennem min applikation