我正在尝试更新数据库集合“ verifications”上的所有记录,其中包含一个名为“ documents”(数组)的子文档。我想删除所有带有step.length === 0的文档。
使用Mongodb updateMany本机方法有效:
async (next) => {
try {
await Verification.collection.updateMany({}, {
$pull: { documents: { steps: { $size: 0 } } },
});
return next();
} catch (err) {
log.warn('Cannot migrate verifications');
log.warn(err);
return next(err);
}
};
但是当尝试Mongoose updateMany时不起作用:
async (next) => {
try {
await Verification.updateMany({}, {
$pull: { documents: { steps: { $size: 0 } } },
});
return next();
} catch (err) {
log.warn('Cannot migrate verifications');
log.warn(err);
return next(err);
}
};
我不知道为什么会这样。