我有以下代碼爲旨在更新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