将当前时间传递给Mongoose查询

时间:2017-04-25 13:55:43

标签: node.js mongodb mongoose

我遇到了问题。我在我的Mongoose模式中使用“Date”类型创建了字段:

...
timeOfPassingQuestion: Date,
...

现在,我希望以小时,分钟,秒和毫秒传递当前时间并将其保存到该字段中。我应该如何格式化我的Node变量,以便我可以无误地传递它?

编辑:另外,我忘了说我想稍后看看用户花了多少时间来回答问题,减去我从DB中提取的当前时间和时间 timeOfPassingQuestion 字段。

1 个答案:

答案 0 :(得分:1)

这是创建支持日期字段的架构的语法:

// Schema
{ //...
  someDate: Date,
}

// date object that you can use whenever you decide to set it
var dateObj = new Date();

这将创建一个JavaScript日期对象,然后您可以将其传递到日期字段的Mongoose对象中。

或者,如果您在创建时总是想要它,请将其直接放在您的mongoose架构中

{  //...
   createdDate: { type: Date, default: Date.now },
}

为了比较未来的时间,我建议你使用moment.js,然后就可以像这样查询时差:

moment(Model.createdDate).fromNow();

来源:

Mongoose Schema

Moment.js fromNow