Mongo DB检查嵌套对象字段,创建并添加唯一值

时间:2020-03-20 03:48:51

标签: mongodb mongodb-query

文档集合中嵌套了名为“ xxx”的对象,我想添加新字段(如果不存在),并为该字段分配新的UUID。

{_id: '000', vgr: {tp: 'a', en: 'b'}},

{_id: '000', vgr: {tp: 'c', en: 'd'}}

上面是我的样本集合,现在我想在“ vgr”对象中添加一个名为“ id”(UUID)的新字段,还需要检查对象是否具有“ id”字段。

1 个答案:

答案 0 :(得分:0)

您可以尝试:

db.collection.updateMany({"vgr.id": {$exists: false}}, {$set: {"vgr.id": UUID()}})

第一个参数是您的filter:您正在寻找id对象中尚未包含嵌套属性vgr的文档。

第二个参数是您将嵌套的id字段添加到过滤后的文档中的位置。