mongodb - 在 MongoDB 中,有没有办法更新许多文档并获取在一次调用中修改的文档?
问题描述
我正在使用 Mongo Java 驱动程序,但查看 Mongo 的文档,它看起来并不特定于驱动程序。
update(filter, update)
可以更新多个文档,但返回只提供标志/计数的 WriteResult。
findOneAndUpdate(filter, update)
返回被修改的实际文档,但一次只能更新一个文档。
有没有办法在一个电话中做到这一点?如果没有,客户端将不得不调用find(filter)
, then update(filter, update)
,然后find(...)
使用与初始查找中获得的 ID 匹配的新过滤器(因为更新可能会更改初始过滤器中的文档值)。
有没有更好的办法?
解决方案
我不知道任何返回光标的写入命令,这本质上是您所要求的,我也没有在驱动程序源代码中看到任何相关内容。
推荐阅读
- javascript - 当我在 Highlighter 标签中使用 dangerouslySetInnerHTML 时,荧光笔不起作用
- r - 在 R 中使用 RNN(Keras)进行预测生成器
- c# - VS 扩展:当 Visual Studio 中的跟踪点被命中时是否会引发事件,并且可以在继续执行之前执行堆栈分析吗?
- java - Java lambda 用 entrySet 编写 foreach
- sql - 在 Postgres 中对搜索结果进行排名
- elasticsearch - 有没有办法将包含 UNION + TOP + ORDER BY 的 SQL 转换为 Elasticsearch DSL
- php - 安装 CPAlead 部署应用程序时出现 Slim 应用程序错误
- azure - AADSTS7000218:请求正文必须包含以下参数:“client_assertion”或“client_secret”
- assembly - 数组的偏移量如何表示数组的起始地址
- c++ - 文件之间的 C++ 依赖关系目录