我正在尝试更新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: "..."
}
答案 0 :(得分:1)
当前编码的方式是将整个auction
属性作为目标,并将其替换为值{"auctionDescription": auctionDescription}
,这就是为什么它会覆盖整个现有对象的原因。
如果您只是尝试更新文档上某个对象的属性,则可以使用"dot notation"将您要更新的对象上的特定属性作为目标,就像这样:
await Auction.updateOne({_id: id}, {"auction.auctionDescription": auctionDescription})