我正在尝试使用mongoose的findByIdAndUpdate方法传入对象ID列表并立即更新它们。但是,我得到一个“错误:不能使用带ObjectId的$ set。”错误,我似乎无法与我的代码相关联。
这是我的代码。
return ComponentModel.findByIdAndUpdate({
_id: {
$in: input.subjectIds
},
$set: { location: input.newLocation }
}).then(res => res);
答案 0 :(得分:3)
findByIdAndUpdate
适用于一个文档。对于多个文档,您可以使用update
并将multi
标记为true。
return ComponentModel.update(
{_id: {$in: input.subjectIds}},
{$set: {location: input.newLocation}},
{"multi": true}
).then(res => res);