MongoDB批量更新性能问题

标签 mongodb

据我了解,MongoDB 支持批量插入,但不支持批量更新。

批量插入数千个文档非常快,但更新数千个文档却非常慢。速度太慢了,我现在使用的解决方法是删除旧文档并批量插入更新的文档。我必须添加一些标志来将它们标记为无效,以及补偿失败的模拟“批量更新”所需的所有内容。 :(

我知道这是一个糟糕且不安全的解决方案,但这是我能够达到所需性能的唯一方法。

如果您知道更好的方法,请帮助我。

谢谢!

最佳答案

只要您使用 MongoDB v2.6 或更高版本,您也可以使用批量操作来执行更新。

示例来自the docs :

var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "D" } ).update( { $set: { status: "I", points: "0" } } );
bulk.find( { item: null } ).update( { $set: { item: "TBD" } } );
bulk.execute();

关于MongoDB批量更新性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24006706/

相关文章:

MongoDB,如何合并两个或多个数据库

mongodb - Mongo DB 连接 - 密码包含未转义的字符

node.js - Mongoose 总是返回空数组?

mongodb 单个操作中的多个聚合

python - Django : Using Mongodb with django

node.js - Nodejs 等待不等待

mongodb - Mongoose Geo Near Search - 如何在给定距离内排序?

javascript - 在 MongoDB/Meteor 中使用 elemMatch 查找嵌套数组数据

mongodb - MongoDB 总存储大小

mongodb - MongoDB中聚合($match)和查找之间的区别?