MongoImport upsert создание нового документа

Я пытаюсь обновить 12 000 записей с конкретными значениями. Значения разные для каждого документа в монго, поэтому я подумал, что можно использовать монгоимпорт. У меня есть CSV-файл, который содержит все правильные значения для обновления в системе.

Когда я запускаю mongoimport через строку cmd, он импортирует документ, но создает новый вместо обновления существующего документа.

mongoimport --host xx.xxx.x.xxxx --port 27017 -d test -c test --type csv --headerline --file budgettest1.csv --upsert -vvvv

Я также попробовал следующее, чтобы:

mongoimport --host xx.xxx.x.xxxx --port 27017 -d test -c test --type csv --headerline --file budgettest1.csv -vvvv --upsert --upsertFields customer,item,fiscalYear,fiscalMonth,weekID,regularSellingPrice,currentYearPlannedUnits,currentYearPlannedDollars

Iv'e использовал поле _id в качестве ссылки, а также исключил его, и во всех случаях он просто создает новую запись. Любая информация будет принята с благодарностью.

2 ответа

Решение

Монго не может справиться с тем выражением, которое я обнаружил. Мне нужно отбросить коллекцию, которая в данном случае не имеет смысла, если объем обновляемых данных сравнивается с объемом данных в коллекции. Файл.js должен быть создан для выполнения этой задачи.

Попробуй использовать

mongoimport --upsert

You can found documenttion here:

https://docs.mongodb.com/manual/reference/program/mongoimport/

Другие вопросы по тегам