2016-07-06 3 views
0

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

Когда я запускаю 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 в качестве ссылки, а также оставил его, и во всех случаях он просто создает новую запись. Любая информация будет принята с благодарностью.

ответ

0

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

0

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

mongoimport --upsert

Вы можете найдены documenttion здесь:

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

+0

Благодарим за рекомендацию. Я не уверен, если там, где находится его материя, нужно много (исправьте меня, если я ошибаюсь). Его уже в коде в конце, но я попытался переместить --upsert после команды mongoimport, и он возвратил те же результаты .. создал новый документ. – Govna

+0

ах, извините, спать не вижу, чем try -drop – Braindead