根据http://mongoosejs.com/docs/2.7.x/docs/updating-documents.html,更新方法的工作原理如下:
MyModel.update(
{ user: { $in: [user_id]} },
{ $set : { dismissed: true } },
{ multi : true },
function(err,na){
console.log('err',err);
console.log('na',na);
}
);
但是我得到了这个:
{ ok: 0, n: 0, nModified: 0 }
这里有什么问题? 如果我为 findOneAndUpdate 更改更新,则可以正常工作。 有什么想法吗?
修改
我刚刚为@jonasnas建议改变了倍数,但我仍然得到相同的结果
答案 0 :(得分:0)
您需要在选项中使用multi
代替multiple
,并确保user_id
类型正确无误(integer
/ string
)
同样在mongoose中你需要摆脱第二个参数中的$set
MyModel.update(
{ user: { $in: [user_id]} },
{ dismissed: true },
{ multi : true },
function(err,na){
console.log('err',err);
console.log('na',na);
}
);