我需要更新我的mongo
文档,以下是我的模式
{ "_id" : 7742, "current_count" : { "abc" : 6 } }
并且需要更新我不知道键的current_count
对象,并且如果出现相同的键,则需要替换值,如下所示。
{ "_id" : 7742, "current_count" : { "abc" : 6 ,"xyz":10} }
如果遇到"abc"
,只需替换其值,
{ "_id" : 7742, "current_count" : { "abc" : 456 ,"xyz":10} }
答案 0 :(得分:2)
您只需要遍历作为有效负载获取的键,并需要创建动态键值对并将其设置为$set
运算符
const data = {
abc: 456,
xyz: 10
}
const object = {}
for (var key in data) {
object[`current_count.${key}`] = data[key]
}
输出为
current_count.abc: 456
current_count.xyz: 10
然后将其放在您的查询中
const query = { "_id" : 7742 };
const update = { "$set": object };
await Model.findOneAndUpdate(query, update)