这是现有记录
<br>
我希望这种情况发生,但是在使用{
"_id": {
"$oid": "5cbd9009740fb12e08b5592f"
},
"item": "ABC",
"res_name": "XYZ",
"price": "450",
"category": "Main course"
}
时,现有数据将被替换
update()
答案 0 :(得分:0)
这就是更新的工作原理,当您指定一个字段时,它将替换它。
现在,如果您要将值“附加”到现有文档中,则必须 做两件事:
首先:更改模型架构,现在您的架构类别是一个字符串,它不能包含多个值。 您的新架构应具有以下属性:
{
_id: ObjectId,
item: Array,
res_nameL Array,
price: Array,
category: Array
}
第二:似乎您正在更新单个文档,因此我建议使用findOneAndUpdate而不是update。现在您的新查询看起来像这样:
model.findOneAndUpdate(
query,
{
$push: {
category: 'new_category'
...
price: 'new_price'
}
})
这应该给您想要的结果。