【问题标题】:Mongoose: How to update sub embedded document array?Mongoose:如何更新子嵌入文档数组?
【发布时间】:2020-06-07 03:09:48
【问题描述】:

这是我的架构

const NetworkSchema = new Schema({
 user: {
 type: Schema.Types.ObjectId,
 ref: 'user'
},
name: {
  type: String
},
friendrequests: [
{
  user: {
    type: Schema.Types.ObjectId,
    ref: 'user'
  },
  name: {
    type: String
  },
  status: {
    type: String,
    default: 'pending'
  },
  date: {
    type: Date,
    default: Date.now
  }
}
],

});

我想使用它的_id 更新我的子嵌入文档friendrequest。我还是猫鼬的新手,请帮忙。谢谢

【问题讨论】:

    标签: mongoose mongoose-schema mongoose-populate


    【解决方案1】:

    好的,设法使用 updateOne 更新子嵌入文档

      const network = await Network.updateOne(
       {
         user: req.user.id,
         'friendrequests._id': req.params.friendrequest_id
       },
       {
         $set: { 'friendrequests.$.status': 'accepted' }
       }
      );
    

    参考:MongoDB: How do I update a single subelement in an array, referenced by the index within the array?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-12
      • 2023-03-10
      • 2016-10-06
      • 2011-12-21
      • 2018-09-04
      • 2020-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多