使用 com.mongodb.client.model.Updates.set 设置数组中的项目

Set item in array using com.mongodb.client.model.Updates.set

我尝试使用 MongoDB Java 驱动程序 API 方法 com.mongodb.client.model.Updates.set 更新数组元素,如下所示:

set(String.format("bag.items[%d]", idx), old.map(mo -> mo.frozen).orElse(null))

但是它没有更新,而是创建了一个名为 "items[0]"

的新字段

正确的语法是

set(String.format("bag.items.%d", idx), old.map(mo -> mo.frozen).orElse(null))