我正在尝试使用以下
进行批量更新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
问题出在哪里?我应该怎么做?
答案 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文件中的数据必须是双引号。