我想将日期类型的文档更新为当前日期 . 我的架构是
var appEventActivity = mongoose.Schema({
app_key : String,
e_id:String,//event id from appEvent
u_imei:String,//user imei from appUsers
startAt:{type: Date, default : Date.now()},
endAt:{type: Date, default : Date.now()}
});
我更新的代码部分是
AppEventActivity.findOneAndUpdate({_id:req.update_event_id},{$currentDate : {endAt:true}}, function(err,data){
if(err)console.log(err);
res.send(data);
});
我见过add created_at and updated_at fields to mongoose schemas和How do I update a property with the current date in a Mongoose schema on every save?但没有成功 .
1 回答
我在这里看到的唯一问题是遗漏
{ "new": true }
以便返回修改后的文档:如果没有
{ "new": true }
,则返回的文档是"un-modified"版本"before"更新 . 设置它会显示刚刚执行的更新 .这是与MongoDB驱动程序默认行为一致的遗留模式 .
否则,MongoDB的$currentDate运算符将按预期工作 . 这是一个完整的清单:
随着输出:
因此,在服务器操作上设置了一个新日期,而不是在客户端上,这就是您所追求的 .