2016-07-06 12 views
0

特定の値で12,000レコードを更新しようとしています。値はmongoのドキュメントごとに異なっているので、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 

私はまたに次のことを試してみた:Iv'eを基準に_idフィールドを使用しても、それを左にし、すべての場合にはそれだけで新しいレコードを作成します

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 

。どんな情報でも大歓迎です。

答えて

0

をモンゴは、私が見つけたその式を処理することができません。私はこの場合、更新されるデータ量とコレクション内のデータ量との間に意味をなさないコレクションを削除する必要があります。このタスクを実行するには、.jsファイルを作成する必要があります。

0

することはあなたがここにdocumenttionを見つけることができ

--upsert

mongoimportを使用してみてください:

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

+0

お礼ありがとうございます。私が間違っている場合は、私に修正してください。そのコードはすでに終わりですが、私はmongoimportコマンドの後に--upsertを動かしてみましたが、同じ結果を返しました。新しい文書が作成されました。 – Govna

+0

ああ、申し訳ありません。 – Braindead

関連する問題