0
我有以下代码在Mongo文档上执行基本更新。问题是,在我运行/stop/:id
路由后,startDate
字段被从嵌入式文档中删除。如何在endDate
和started
字段更新后确保它保持在那里?在不影响其他字段的情况下更新嵌入式Mongo文档字段
router.get('/start/:id', function(req,res){
var collection = db.get('Activity');
collection.update({
_id: req.params.id
},
{
$set: {
"runtime": {
started: true,
startDate: new Date(),
endDate: null
}
}
}, function(err, activity){
if (err) throw err;
res.json(activity);
});
});
router.get('/stop/:id', function(req,res){
var collection = db.get('Activity');
collection.update({
_id: req.params.id
},
{
$set: {
"runtime.started": false,
"runtime.endDate": new Date()
}
}, function(err, activity){
if (err) throw err;
res.json(activity);
});
});
这是行不通的。 $ addToSet似乎用于向数组添加元素。就我而言,我正试图在嵌入式文档上添加/更改元素。 – MadPhysicist