MongoDB Монгоимпорт Упсерт - PullRequest
       6

MongoDB Монгоимпорт Упсерт

4 голосов
/ 06 февраля 2011

Я пытаюсь сделать массовое обновление со следующим

mongoimport -d my_db -c db_collection -upsertFields email ~/Desktop/update_list.csv

CSV, который я пытаюсь импортировать, выглядит так.

email, full_name
stack@overflow.com,stackoverflow
mongo@db.com,mongodb

Следует проверить столбец электронной почты в качестве аргумента запроса и соответствующим образом обновить полное имя.Однако ни один из них не был импортирован, возникли ошибки.

exception:Failure parsing JSON string near: abc@sa
abc@sasa.com,abc
imported 0 objects
encountered 99398 errors

В чем проблема?Как мне это сделать?

Ответы [ 3 ]

12 голосов
/ 09 ноября 2011

В вашей команде mongoimport отсутствует параметр --upsert, который необходим в сочетании с --upsertFields.Попробуйте:

mongoimport -d my_db -c db_collection --upsert --upsertFields email ~/Desktop/update_list.csv
6 голосов
/ 06 февраля 2011

Добавить --type csv

В противном случае предполагается, что вы вводите json.

Кроме того, похоже, что вы должны передать --headerline, чтобы он использовал первую строку файла в качестве заголовка.

0 голосов
/ 06 февраля 2011

Я предполагаю, что данные в вашем CSV-файле должны быть в двойных кавычках.

...