首页 > 解决方案 > 在 MongoDB 中,有没有办法更新许多文档并获取在一次调用中修改的文档?

问题描述

我正在使用 Mongo Java 驱动程序,但查看 Mongo 的文档,它看起来并不特定于驱动程序。

update(filter, update)可以更新多个文档,但返回只提供标志/计数的 WriteResult。

findOneAndUpdate(filter, update)返回被修改的实际文档,但一次只能更新一个文档。

有没有办法在一个电话中做到这一点?如果没有,客户端将不得不调用find(filter), then update(filter, update),然后find(...)使用与初始查找中获得的 ID 匹配的新过滤器(因为更新可能会更改初始过滤器中的文档值)。

有没有更好的办法?

标签: mongodbmongo-java-drivermongo-java

解决方案


我不知道任何返回光标的写入命令,这本质上是您所要求的,我也没有在驱动程序源代码中看到任何相关内容。


推荐阅读