首页 > 解决方案 > 与 mongoshell 的更新倍数等效的 Java 驱动程序

问题描述

我正在尝试编写 Java 代码以从数组字段中删除多个文档。我一直在阅读 MongoDB 的文档以了解如何$pull在更新中使用:

https://docs.mongodb.com/manual/reference/operator/update/pull/

而且我不断看到对这种语法的引用:

db.stores.update(
  { },
  { $pull: { fruits: { $in: [ "apples", "oranges" ] }, vegetables: "carrots" } },
  { multi: true }
)

Java 驱动程序到底在{multi : true}做什么,是否有任何等价物?我看了看UpdateOptions,没有看到任何相似的东西。我尝试将其添加到arrayFilters列表中,但我从 Mongo 收到错误消息:

The array filter for identifier 'multi' was not used in the update

我了解 shell 中的各种 update/updateOne/updateMany 方法与其 Java 等效方法之间的区别,但这种语法对我来说是新的,文档多次使用它,我找不到任何细节。

标签: mongodb-querymongodb-java

解决方案


推荐阅读