时刻日期格式从Node更改为MongoDB

时间:2019-05-27 14:56:19

标签: node.js mongodb mongoose momentjs mongoose-schema

我正在节点js中创建一个应用程序,并将日期保存到Mongo DB,Mongoose的数据类型,我以前保存的是Date。

  moment.locale("pt");
  today= moment().startOf("day").format();

日期像2019-05-27T00:00:00-03:00

一样打印

但是当它保存时,我正尝试从2019-05-27T03:00:00.000Z之类的mongo db中检索它的日期

现在比较不起作用。因此,我正在根据该日期查找数据,但无法正常工作。

我正在使用巴西的语言环境。我每天从00:00到接下来的24小时保持用户详细信息,并抽出好运来吸引用户。所以我有巨大的数据库,并希望根据今天的日期过滤数据。因此,我需要将日期保存在当地时区,即巴西。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我建议先移至UTC,然后更改语言环境,然后更改日期以匹配当天的开始时间,然后将其存储为ms:

const d = moment
          .utc() // Get the UTC time
          .locale('pt_BR') // Change locale to Brazil
          .startOf('day') // Go back in time to current date @ 00:00:00
          .valueOf() // Get ms value

// store d in the database