【问题标题】:Bulk update/upsert in MongoDB?在 MongoDB 中批量更新/更新?
【发布时间】:2011-05-25 13:08:45
【问题描述】:

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

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

谢谢

【问题讨论】:

标签: mongodb batch-file bulk upsert nosql


【解决方案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中看到它。
      猜你喜欢
      • 1970-01-01
      • 2013-06-18
      • 2021-12-13
      • 2021-03-21
      • 1970-01-01
      • 2020-07-19
      • 2017-05-13
      • 2011-09-05
      • 1970-01-01
      相关资源
      最近更新 更多