12

是否可以在 MongoDB 中进行批量更新/更新插入(而不是插入)?

如果是,请指出与此相关的任何文档?

谢谢

4

3 回答 3

4

您可以使用命令行程序mongoimport它应该在您的 MongoDB bin 目录中...

您需要考虑两个选项来使用upsert ...

--upsert 插入或更新已存在的对象
--upsertFields arg 逗号分隔的字段,用于 upsert 的查询部分。你应该确保这是索引

更多信息在这里:http ://www.mongodb.org/display/DOCS/Import+Export+Tools

或者只是做...

$ mongoimport --help
于 2010-12-14T21:46:08.110 回答
2

mongo 可以执行.js文件。您可以将所有更新命令推送到 js 文件中。

t.js

db.record.update({md5:"a35f10a8339ab678612d1f86be08b81a"},{$set:{algres:[]}},false,true);
db.record.update({md5:"a35f10a8339ab678612d1f86be08b81b"},{$set:{algres:[]}},false,true);

然后, mongo 127.0.0.1/test t.js

于 2015-07-03T04:36:35.213 回答
1

批量更新也可以按照文档中的说明分批完成:

MongoDB 批量方法

我使用这些来导入 CSV 文件,在导入数据之前我需要稍微处理一下。处理更新时它有点慢,但它在大约 83 秒内完成了我的 50K 文档更新,这比 mongoimport 命令慢得多。

于 2014-12-08T18:01:46.837 回答