如何解决Mongoose - 更新嵌套数组中的多个字段
我有以下对象。
{
_id: ObjectId(6082adfaeced28382c167bd7),inviteMountaineers:
[{
_id: ObjectId(6082c4f9dcfaa86794601058),userId: ObjectId(60829eb5f1d2c316dfd79cd8),status:"Invited"
},{
_id: ObjectId(6082c4f9dcfaa86794601055),userId: ObjectId(60829eb5f1d2c316dfd79cd5),status:"Invited"
}]
}
我想更新受邀登山者的状态,我尝试使用 下面的代码。
const expedition = await Expedition.findOneAndUpdate(
{
_id: expeditionId,inviteMountaineers: {
$elemMatch: { userId: mongoose.Types.ObjectId(userId) }
}
},{ useFindAndModify: false },{ $set: {
'inviteMountaineers.$.status': status,'inviteMountaineers.$.paidStatus': paidStatus,'inviteMountaineers.$.paidAmount': amount,}
}
).populate({
path: 'inviteMountaineers',populate: {
path: 'userId',model: 'User',},})
此代码返回未进行任何更新的探险对象。数据库中也没有更新。如果有人可以帮助我,那就太好了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。