当我像这样更新MongoDB时:
collection.update(query,data,true,false);
每次我可以向mongo提交一个更新操作时,性能都非常差。像这样的操作,是否有批量提交操作?
简短的答案是,在“现代驱动程序”中,是的,这是现代驱动程序发布的目的。
我们在这里谈论的是MongoDB 2.6中引入的Bulk Operations API的用法。在介绍时,可以说MongoDB“ shell”之类的工具在“幕后”介绍了这些方法的用法(甚至作为“单一”操作),因此这些方法实际上被称为服务器版本。通过适当的测试来支持它。
在MongoDB 3.0.x发行系列中,已对驱动程序进行了“大修”,以实现在适当的情况下以类似方式使用这些“批量API”方法的方法。
通用方法是不同的签名,例如.update_one()
在各种情况下类似的签名。同样,从“不同的类”到以前的驱动程序版本中存在的“旧版”实现,经常会发现这些问题。
因此,现代的和“不断发展的”考虑是默认情况下将这些方法用于适用的新方法。而且还要在方法之间“区分”,以免在可能的情况下导致向后兼容性中断。
您可以在驱动程序版本和服务器兼容性允许的地方显式使用“批量”方法,也可以在更现代的驱动程序中使用“新”方法(适合于已安装的方法)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句