我正在尝试使用MomentJS来获取非本地化的UTC时间,并将其设置为Mongo中创建的新文档的默认值 .
var SubFavoriteSchema = new Schema({
user : { type: String, ref: 'Account'},
date : {type: Date, default: moment.utc()}
});
问题是,moment.utc()返回节点服务器启动的日期 . 因此,如果我在1月1日启动服务器,即使文档是在1月10日创建的,所有文档也会获得1月1日的UTC时间 .
知道为什么它不断获取服务器的开始时间而不是当前时间吗?
2 回答
问题是您在创建架构时调用了
moment.utc()
函数(一次),因此在创建新文档时会使用相同的结果值 .但是,您不需要使用
moment
,default: Date.now
将执行您想要的操作,因为该函数返回当前的UTC时间 . 请注意,您不要调用now
函数,只需传递函数本身即可 . 这是关键的区别 .您需要使用工厂功能 .