更新对象数组中的对象 属性

Updating an object property that is inside an array of objects

我正在尝试更新对象数组中某个对象的特定 属性。

合集:

我想更新数组中第一个对象内的票 属性。 这就是我想出的:

Flight.findOneAndUpdate({_id: "625764663bddec3da194ebc8"}, {$set: {"ecoSeats.$[0].ticket": "Hello"}});

但是好像什么都没更新。

@永顺的回答是正确的。我认为您的查询有问题,请确保在 _id

中使用 stringObjectId

_id: "625764663bddec3da194ebc8" != _id: ObjectId("625764663bddec3da194ebc8")

db.collection.update({
  _id: ObjectId("625764663bddec3da194ebc8")
},
{
  $set: {
    "ecoSeats.0.ticket": "Hello"
  }
},
{
  multi: true
})

mongoplayground