RaR*_*RaR 8 mongoose mongodb node.js
我正在寻找一种方法来一次更新许多文档使用mongoose并返回所有修改过的文档.我试着multi:true在update()中设置.它正在更新所有匹配的文档但不返回任何文档.然后我尝试使用findOneAndUpdate().即使有许多匹配的文档,它也只更新并返回一个文档.是的,函数名称本身告诉,它只会更新一个,我仍然尝试过.我不能像设置选项multi:true在findOneAndUpdate().怎么做到呢?提前致谢
Jyo*_*ngh 14
目前我认为在MongoDB中不可能更新多个文档并在同一查询中返回所有更新的文档.
在Mongoose中,findOneAndUpdate()它基于findAndModify()MongoDB 的本机方法.
如果检查官方文件中的findAndModify()方法,其指出-
findAndModify命令修改并返回单个文档.
虽然查询可能匹配多个文档,但findAndModify将只选择一个文档进行修改.
因此,您无法使用更新多个文档findAndModify.
update()updateMany()另一方面,或者方法用multi标志更新许多文档,但它只返回看起来像这样的WriteResult -
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4418 次 |
| 最近记录: |