MongoDB 猫鼬,在数组中插入值

MongoDB mongoose, insert value in array

我有一个像这样的集合“MyCollection”

_id: ObjectId('asdasdasd')
myArray: Array
  0: Object
     _id: ObjectId('asdadas')
     name: "My object A"
     description: "My description A"
  1: Object
     _id: ObjectId('bsdadas')
     name: "My object B"

namedescription 出现在模型中。

如何在 1: 对象中插入 "description"

我知道如何覆盖整个数组,或者如何在一个对象中添加一个属性,例如:

await MyCollection.updateMany(
  {name: 'some filter, but in my example I only have 1 document'},
  {
    'someObject.someNewOptions.myNewOption': 'example of new value'
  }
);

但是如何在数组中做类似的事情呢?

db.collection.update({
  "myArray._id": "bsdadas"
},
{
  "$set": {
    "myArray.$.description": "My description B"
  }
})

mongoplayground