首页 > 解决方案 > 使用 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]”的新字段

在此处输入图像描述

标签: mongodbmongodb-java

解决方案


正确的语法是

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

推荐阅读