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 (将#修改为@)