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

Node + Mongodb + ISODate + Tidszone problem

Ja, som nævnt i abdulbariks svar, gemmer MongoDB datoen i UTC.

Datoobjekt:-

Du kan bruge metoden getTimezoneOffset() til at få forskellen mellem UTC og lokal tid.

  var d = new Date()
  var n = d.getTimezoneOffset();

  console.log('date obj ==>' + d);
  console.log('time zone obj ==>' + n);

Konsollog:-

Du kan se tidszonen obj har "-60". Jeg er på GMT+1 .

date obj ==>Mon Sep 12 2016 10:17:28 GMT+0100 (GMT Daylight Time)
time zone obj ==>-60

MongoDB har fastholdt datoen i UTC:-

Jeg har brugt objekt "d" (dvs. new Date()) til at bevare datoen i MongoDB. Selvom jeg er på GMT+1, er datoen gemt i UTC.

 "timestamp" : ISODate("2016-09-12T09:17:28.193Z"),


  1. Gå gennem Mongo Collection og opdater et felt i hvert dokument

  2. Hvorfor denne opdateringsforespørgsel kun opdaterer én post én gang

  3. Hvorfor nye dokumenter i mongo har et objekt og ikke et ObjectId?

  4. Aggregationssum i Spring Data MongoDB