MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Skrypt powłoki MongoDB wykorzystujący projekcję do formatowania daty i uzyskiwania czasu lokalnego

Nie możesz bezpośrednio użyć "toLocaleString()". Możesz jednak dodać przesunięcie.

1) Trzeci potok służy do dodania przesunięcia

2) Czwarty potok służy do formatowania daty

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

]);

Wprowadzanie:-

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

Wyjście:-

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

Zwróć uwagę na wynik 2. Następna data jest wpisana poprawnie.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zmienić moje hasło użytkownika mongoDB jako nieadministratora?

  2. Jak agregować na ogromnej tablicy w mongoDB?

  3. Jak przechowywać informacje geoprzestrzenne w mongoDB

  4. Wdróż MongoDB w wirtualnej chmurze prywatnej Amazon (VPC)

  5. zbiór A który ma obcokrajowca z B, B ma obcokrajowca z kolekcją C, jak mogę sprowadzić obcokrajowca z A do zbioru C?(Zagregowane)