我有以下代码为旨在更新Mongo中的文档的API。它使用collection.update
将值插入一个部分,然后使用另一个collection.update
将这些值推送到文档内的数组中。Mongo更新记录与值设置在相同的查询
但是,当我运行此代码时,我一直收到nan
在events.eventTime
和events.endDate = null
。我如何修改此以正常工作?也就是说,我首先将值插入runtime.
,然后使用这些值推入events
阵列。
router.get('/stop/:id', function(req,res){
var collection = db.get('Activity');
//Important to use findOne here to get an object back instead of an array
collection.findOne({_id : req.params.id }, function(err, activity){
if (err) throw err;
res.json(activity);
//console.log(activity);
collection.update({
_id: activity._id
},
{
$set: {
"runtime.started": false,
"runtime.endDate": new Date()
}
},
function(err, activity){
if (err) throw err;
//res.json(activity);
console.log(activity);
}
);
collection.update({
_id: activity._id
},
{
$push: {events: {
eventTime: ((activity.runtime.endDate - activity.runtime.startDate)/1000),
startDate: activity.runtime.startDate,
endDate: activity.runtime.endDate
}
},
},
function(err, activity){
if (err) throw err;
//res.json(activity);
console.log(activity);
}
);
});
});
什么是你runtime.endDate和runtime.startDate值? – abdulbarik
查看附件。 – MadPhysicist
你确定减法适合你吗? – abdulbarik