Пн go БД Проверить поле вложенного объекта, создать и добавить уникальное значение - PullRequest
0 голосов
/ 20 марта 2020

В коллекции документов есть вложенный объект с именем «xxx», я хотел добавить новое поле, если оно не существует, и назначить новый UUID для этого поля.

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

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

Выше моей коллекции образцов, теперь я хочу добавить новое поле в объект 'vgr' с именем 'id' (UUID), также мне нужно проверить, есть ли у объекта поле 'id' или нет.

1 Ответ

0 голосов
/ 20 марта 2020

Вы можете попробовать:

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

Первый параметр - ваш filter: вы ищете документы, которые еще не содержат вложенное свойство id в объекте vgr.

Второй параметр - это место, куда вы добавляете вложенное поле id к отфильтрованным документам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...