sql >> Databáze >  >> NoSQL >> MongoDB

Problém uzel + Mongodb + ISODate + časové pásmo

Ano, jak je uvedeno v abdulbarikově odpovědi, MongoDB ukládá datum v UTC.

Objekt data:-

Můžete použít metodu getTimezoneOffset() k získání rozdílu mezi UTC a místním časem.

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

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

Protokol konzoly:-

Můžete vidět, že objekt časového pásma má "-60". Jsem na GMT+1 .

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

MongoDB uchovává datum v UTC:-

Použil jsem objekt "d" (tj. nové datum ()), abych zachoval datum v MongoDB. I když jsem na GMT+1, datum je uloženo v UTC.

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


  1. Zip pole s MongoDB

  2. Návrh schématu MongoDB pro otázky a odpovědi s výběrem z více možností

  3. MongoMapper blízko s maxDistance - Mongo::OperationFailure:hodnoty geo musí být čísla:

  4. Jak nahradit prvek v poli pole v mongodb