mongodb - MongoDB updateMany 不是一个函数
问题描述
我正在使用 mongodb 3.6.3
db.version() 3.6.3
我有测试集合:
> db.test.find()
{ "_id" : ObjectId("5c582787e504df9ad201ba77"), "val" : 0.25 }
{ "_id" : ObjectId("5c582789e504df9ad201ba78"), "val" : 1 }
{ "_id" : ObjectId("5c58278be504df9ad201ba79"), "val" : 10 }
{ "_id" : ObjectId("5c58278fe504df9ad201ba7a"), "val" : 11122 }
我想划分所有值。因此,我尝试使用updateMany
> db.test.updateMany({}, {$mul: {val: 0.5}})
2019-02-04T17:08:27.548+0500 TypeError: Property 'updateMany' of object local.test is not a function
> db.test.update({}, {$mul: {val: 0.5}}, {multi:true})
WriteResult({ "nMatched" : 4, "nUpserted" : 0, "nModified" : 4 })
> db.test.find()
{ "_id" : ObjectId("5c582787e504df9ad201ba77"), "val" : 0.125 }
{ "_id" : ObjectId("5c582789e504df9ad201ba78"), "val" : 0.5 }
{ "_id" : ObjectId("5c58278be504df9ad201ba79"), "val" : 5 }
{ "_id" : ObjectId("5c58278fe504df9ad201ba7a"), "val" : 5561 }
为什么没有 updateMany 函数?
解决方案
updateMany 已在 3.2 版中引入,因为您使用的是 2.6.10 版的 mongo shell,它在那里丢失了。您需要更新您的 CLI,它应该可以按预期工作。
推荐阅读
- javascript - 解构并返回多个值
- python - 如何解决 AttributeError: 'list' object has no attribute 'lower in scipy minimize
- c++ - Clang 不知道 PTRDIFF_MAX?
- r - 用 purrr 函数替换 for 循环(修改对象)?
- r - 同名矩阵R
- java - 无法使用 SharePoint 文件下载 REST API 和 Java 下载 docx 文件
- javascript - 避免输入溢出他们的容器并在调整大小时让他们跳到下一行
- maps - 带有 Mapbox 层空白的叶
- python - 如何在 Kivy 中实现社交分享按钮
- python - Python discord.py 拆分输出以绕过 2000 个字符限制的方法