MongoDB中的批量更新/插入操作?

13

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

如果是,请指向任何相关文档。

谢谢


目前还不可能实现:请参见 https://jira.mongodb.org/browse/SERVER-4004 - Gianfranco P.
3个回答

4
您可以使用命令行程序mongoimport,它应该在您的MongoDB bin目录中...
有两个选项您需要了解如何使用upsert...

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

更多信息请参见:http://www.mongodb.org/display/DOCS/Import+Export+Tools 或者只需执行...
$ mongoimport --help

注意:目前--upsert在在线文档中没有记录(需要更新),但您可以从命令行--help中看到它。 - Justin Jenkins

3

mongo可以执行.js文件,你可以将所有更新命令放在一个js文件中。

t.js

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

then, mongo 127.0.0.1/test t.js


1
批量更新也可以按照文档中所述分批完成: MongoDB批量方法 我使用这些方法来导入CSV文件,并在导入数据之前进行一些处理。在处理更新时速度较慢,但是它在大约83秒内完成了我的5万个文档更新,比mongoimport命令要慢得多。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接