这对我来说是可行的,我也按照下面的内容改编了这个模式。另外,我相信添加更多的参数而不仅仅是setobj(例如(id,setobj,anotherparam)可能是它不能工作的原因,因为这是我最后更改的。
即使没有错误,也没有别的对我有用。
var mongooseSchema = new Schema ({
fact1: {
nested1: Boolean,
nested2: String
}})
objForUpdate.fact1 = {}
objForUpdate.fact1 = { 'nested1' : req.body.newnested1,
'nested2' : req.body.newnested2}
User.SCHEMAPLAYER.findByIdAndUpdate(id,setObj
, {
upsert: true,
'new': true
}).exec(function(err, doc) {
if (err) return res.send(500, {
error: err
});
console.log (doc)
return res.send(doc);
});