node.js - Mongoose .save 函数返回“未找到 id "32fdj..." 版本 0 modifiedPaths "cmRooms" 的匹配文档'
问题描述
let property = await PropertyModel.findOne({
propertyId: res.locals.userInformations.userId
});
let cmRooms = property.cmRooms;
const newCmRooms = cmRooms.filter(
cmRoom => cmRoom.cmRoomId !== "1234";
);
property.cmRooms = newCmRooms;
await property.save(err => {
if (err) console.log(err);
});
我收到以下错误
message: '没有为 id "5eb7638320ab5d0633477081" 版本 0 modifiedPaths "cmRooms" 找到匹配的文档',
名称:'版本错误',版本:0,
修改路径:['cmRooms']}
解决方案
您可以将上面的代码更改为此并尝试:
await PropertyModel.findOne({
propertyId: res.locals.userInformations.userId
}, async function (err, property) {
if (!err) {
let cmRooms = property.cmRooms;
const newCmRooms = cmRooms.filter(
cmRoom => cmRoom.cmRoomId !== "1234"
);
property.cmRooms = newCmRooms;
await property.save(err => {
if (err) console.log(err);
});
}
});
推荐阅读
- php - 每个字符串和数字
- c# - 选择作为方法参数
- node.js - 无法在 Google App Engine 上正确部署 NestJS
- excel - Excel VBA 编码,用于基于现有表创建新表
- ethereum - DeclarationError: Undeclared identifier - 尽管它存在于 ERC721.sol 中
- raspberry-pi - systemd服务的自动启动和手动启动有什么区别?
- python - 计算点之间最小距离(haversine)的快速方法
- python - 每月重新平衡python的累积权重
- node.js - NPM 安装找不到 package.json
- fullcalendar-5 - Fullcalendar 资源组时隙持续时间