MongoImport upsert创建新文档

时间:2016-07-06 14:47:07

标签: mongodb mongoimport

我正在尝试使用特定值更新12,000条记录。 mongo中每个文档的值不同,所以我认为可以使用mongoimport。我有一个csv文件,其中包含要在系统中更新的所有正确值。

当我通过cmd行运行mongoimport时,它会导入文档,但会创建一个新文档,而不是更新现有文档。

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

我曾使用_id字段作为参考,并将其遗漏,并且在所有情况下它只是创建一个新记录。任何信息,将不胜感激。

2 个答案:

答案 0 :(得分:0)

尝试使用

mongoimport --upsert

您可以在此处找到文档:

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

答案 1 :(得分:0)

Mongo无法处理我发现的那个表达式。我需要删除集合,在这种情况下,由于更新的数据量与集合中的数据量相比没有意义。需要创建一个.js文件来执行此任务。