Я пытаюсь обновить определенные документы в коллекции, используя mongoimport.Я создал CSV-файл, который содержит два столбца: «электронная почта» и «contactInfo.mobileNumber».
Структура CSV:
email,contactInfo.mobileNumber
test123@gmail.com,9892345109
Цель: обновить «mobileNumber» соответствующего документа, используяэлектронная почта как ключ / параметр запроса (электронная почта должна однозначно идентифицировать документ).
"mobileNumber" - это строка, хранящаяся внутри набора с именем "contactInfo".Таким образом, «contactInfo» является частью структуры документа.Структура «КонтактИнфо» выглядит следующим образом.Он содержит несколько объектов следующего типа:
contactInfo
_id
homeNumber
mobileNumber
Я попробовал следующие команды mongoimport:
1. mongoimport --host --db --collection --mode upsert --headerline --file --type=csv
2. mongoimport --host --db --collection --mode merge --headerline --file--type=csv
3. mongoimport --host --db --collection --upsertFields email --headerline --file --type=csv
Однако вышеупомянутые команды всегда создают новый документ вместо обновления существующего документа.Он создает новый документ с тремя полями (_id
, homeNumber
и mobileNumber
, который вложен в contactInfo).
Как обновить документы в БД, которые соответствуют адресу электронной почты в файле .csv
?