【发布时间】:2017-04-24 14:25:15
【问题描述】:
我正在使用猫鼬模型来保存我的记录,包括创建和更新日期。这是我的模型架构:
var CasesModelSchema = new mongoose.Schema(
{
caseId: Number,
sessionId: String,
createdAt: {type: Date},
updatedAt: {type: Date, default: Date.now},
docs: mongoose.Schema.Types.Mixed
},
{
collection: 'cases'
}
);
我面临的问题是updatedAt 字段将日期时间保存为ISODate("2017-04-24T12:40:48.193Z"),这是UTC,但我的服务器的时区是Asia/Calcutta。由于我需要根据服务器的时间进行查询,因此我需要将日期时间保存在我的首选时区中。
这是我需要执行的查询(获取过去 10 天的所有数据)
var today = moment(moment().format('YYYY-MM-DD')).toDate();
var tenDaysDate = moment(moment().format('YYYY-MM-DD')).add(-10, 'days').toDate();
CasesModel.findOne({updatedAt: {$gte: tenDaysDate, $lt: today}},
function(err, caseData){
cl(caseData, __line);
});
我想要进行查询以获取过去 10 天的所有更新记录,即从 10 天前的午夜(Asia/Calcutta 时区)到今天的午夜(Asia/Calcutta 时区)。我该怎么做?
【问题讨论】:
标签: node.js mongodb datetime mongoose timezone