我正在尝试更新mongo db上的多个文档.哪个是使用multi = true或updateMany方法更好的更新方法?它们之间有什么区别?
在Blakes Seven的回答中,所有updateon方法都只是将multi选项设置为false,如此处所示(github).
反过来,所有updateMany方法都将multiopion 设置为true,如此处所示(github).
因此,没有"更好"的方法可以调用,只需选择您认为适合的情况.
小智 7
不同之处在于update(),默认情况下,仅修改与指定过滤器匹配的一个文档。但是,您可以通过添加modifier {multi: true}. updateMany另一方面,修改与指定过滤器匹配的所有文档。
\xe2\x80\x9cupdateOne\xe2\x80\x9d 和 \xe2\x80\x9cupdateMany\xe2\x80\x9d 是较新的 API,如果可能,应使用而不是 \xe2\x80\x9cupdate\xe2\x80\x9d。
\n在\xe2\x80\x9cMongo Definitive Guide\xe2\x80\x9d一书中(在谈论\xe2\x80\x9cupdateOne\xe2\x80\x9d时):
\n\xe2\x80\x9c更新文档必须包含更新运算符。以前版本的 CRUD API 无法捕获此类错误。在这种情况下,早期的更新方法只会完成整个文档的替换。正是这种类型的陷阱导致了新的 CRUD API 的创建。\xe2\x80\x9d
\n\xe2\x80\x94 MongoDB:权威指南:强大且可扩展的数据存储 作者:Shannon Bradshaw、Eoin Brazil 等人。
\n| 归档时间: |
|
| 查看次数: |
5778 次 |
| 最近记录: |