mongoDB mongoimport upsert

时间:2011-02-06 17:48:06

标签: mongodb upsert

我正在尝试使用以下

进行批量更新
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

它应该将电子邮件列检查为查询arg并相应地更新全名。但是,没有导入,它遇到错误。

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

问题出在哪里?我应该怎么做?

3 个答案:

答案 0 :(得分:12)

你的mongoimport命令缺少--upsert选项,它与--upsertFields结合使用。尝试:

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

答案 1 :(得分:6)

添加--type csv

否则它假定您的输入是json。

另外,看起来你应该传递--headerline,使它使用文件的第一行作为标题。

答案 2 :(得分:0)

我认为您的CSV文件中的数据必须是双引号。