MongoDB怎样批量执行命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB怎样批量执行命令相关的知识,希望对你有一定的参考价值。
没有这种操作,因为MongoDB的底层就不支持这种操作。从MongoDB的oplog模式中可以看出,MongoDB的每次op都是独立执行的最小单元,因此,不会存在多个op组合成一个执行的情况。因此在各种API中都不会存在这种批量插入的操作。 参考技术A 没有这种操作,因为MongoDB的底层就不支持这种操作。
从MongoDB的oplog模式中可以看出,MongoDB的每次op都是独立执行的最小单元,因此,不会存在多个op组合成一个执行的情况。因此在各种API中都不会存在这种批量插入的操作。本回答被提问者和网友采纳
在 MongoDB 中批量更新/更新?
【中文标题】在 MongoDB 中批量更新/更新?【英文标题】:Bulk update/upsert in MongoDB? 【发布时间】:2011-05-25 13:08:45 【问题描述】:是否可以在 MongoDB 中进行批量更新/更新插入(不是插入)?
如果是,请指出与此相关的任何文档?
谢谢
【问题讨论】:
这还不可能:见jira.mongodb.org/browse/SERVER-4004 【参考方案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
【讨论】:
【参考方案2】:批量更新也可以按照文档中的说明进行批量更新:
MongoDB Bulk Methods
我使用这些来导入 CSV 文件,在导入数据之前我需要稍微处理一下。处理更新时它有点慢,但它在大约 83 秒内完成了我的 50K 文档更新,这比 mongoimport 命令慢得多。
【讨论】:
【参考方案3】:您可以使用命令行程序 mongoimport 它应该在您的 MongoDB bin 目录中...
您需要考虑两个选项以使用 upsert ...
--upsert 插入或 更新已存在的对象 --upsertFields arg 查询的逗号分隔字段 的一部分 插入。你应该确保这是索引
更多信息在这里:http://www.mongodb.org/display/DOCS/Import+Export+Tools
或者只是做...
$ mongoimport --help
【讨论】:
注意:目前在线文档中没有记录--upsert(它们需要更新)...但是您可以从命令行--help中看到它。以上是关于MongoDB怎样批量执行命令的主要内容,如果未能解决你的问题,请参考以下文章