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怎样批量执行命令的主要内容,如果未能解决你的问题,请参考以下文章

bat如何执行完一条cmd命令,然后在同一窗口继续执行别的命令呢?

mongodb集合批量执行compact

mongodb集合批量执行compact

mongodb集合批量执行compact

mongodb集合批量执行compact

批处理文件命令,怎样按顺序执行命令?