我知道MongoDB支持批量插入,但不支持批量更新。
批量插入成千上万的文档非常快,但是更新成千上万的文档却非常缓慢。太慢了,以至于我现在使用的解决方法是删除旧文档并批量插入更新的文档。我必须添加一些标志以将其标记为无效,并添加从失败的模拟“批量更新”中进行补偿所需的所有内容。:(
我知道这是一个糟糕且不安全的解决方案,但这是我能够达到所需性能的唯一方法。
如果您知道更好的方法,请帮助我。
谢谢!
只要您使用的是MongoDB v2.6或更高版本,就可以使用批量操作来执行更新。
来自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();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句