我正在尝试更新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})