是否可以在MongoDB中进行批量更新/ upsert(不插入)?
如果是,请指出任何与此相关的文档?
由于
答案 0 :(得分:4)
你可以使用命令行程序 mongoimport 它应该在你的MongoDB bin目录中......
使用 upsert 时,您需要考虑两个选项......
- upsert insert或 更新已存在的对象
--upsertFields arg查询的逗号分隔字段 的一部分 更新插入。您应确保将其编入索引
此处有更多信息:http://www.mongodb.org/display/DOCS/Import+Export+Tools
或者只是......
$ mongoimport --help
答案 1 :(得分:1)
批量更新也可以批量完成,如文档中所示:
我使用这些来导入我需要在导入数据之前按下一下的CSV文件。在处理更新时它有点慢,但它在大约83秒内完成了我的50K文档更新,这比mongoimport命令慢得多。
答案 2 :(得分:1)
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