如何更新嵌套对象?Mongoose



我正在尝试更新auction.auctionDescription。在发送请求之后,auction.auctionDescription被更新,但auction.auctionImage被删除。

await Auction.updateOne({_id: id} ,{auction: {'auctionDescription': auctionDescription}})

我的文档如下所示:

_id: ObjectId("...")
user: "..."
animal: {...}
auction: {
  auctionImage: "path/to/image.jpeg"
  auctionDescription: "..."
}

当前对其进行编码的方式是,将整个auction属性作为目标,并将其替换为值{"auctionDescription": auctionDescription},这就是它覆盖整个现有对象的原因。

如果您只是试图更新文档上对象的属性,则可以使用";点表示法";以您尝试更新的对象上的特定属性为目标,如下所示:

await Auction.updateOne({_id: id}, {"auction.auctionDescription": auctionDescription})

最新更新