Java 如何使用Spring数据更新Mongo DB中的整数数组元素?

Java 如何使用Spring数据更新Mongo DB中的整数数组元素?,java,spring,mongodb,spring-data,spring-data-mongodb,Java,Spring,Mongodb,Spring Data,Spring Data Mongodb,我们需要更新纬度坐标(address.coord[0]),其值小于50。 如何使用Spring数据构建查询来实现这一点。下面的几个片段展示了我们尝试过的方法 下面的一个进行了更新,但删除了坐标-0(纬度)和坐标-1(经度) 下面的人甚至找不到符合条件的文档 Criteria c = where("address.$.coord").lt(value); Update update = new Update().set("address.$.coord", value); WriteResult

我们需要更新纬度坐标(address.coord[0]),其值小于50。 如何使用Spring数据构建查询来实现这一点。下面的几个片段展示了我们尝试过的方法

下面的一个进行了更新,但删除了坐标-0(纬度)和坐标-1(经度)

下面的人甚至找不到符合条件的文档

Criteria c = where("address.$.coord").lt(value);
Update update = new Update().set("address.$.coord", value);
WriteResult result = mongodb.updateMulti(query(c), update, "restaurants");
提前感谢您宝贵的回答

 Criteria c = where("address.coord.0").lt(value); 
 Update update = new Update().set("address.coord.0", value);
 WriteResult result = mongodb.updateMulti(query(c), update, "restaurants");
地址:coord.0


标准c=其中(“address.coord.0”).lt(值);Update Update=new Update().set(“address.coord.0”,value);WriteResult=mongodb.updateMulti(查询(c),更新“餐厅”)
“address.$.coord”
意味着address是一个数组,但事实并非如此,因此使用该数组的查询失败。@Veeram我也尝试过,得到的结果与第二个代码段中的相同。它更新了地址。coord[0]但我丢失了地址。cord[1]抱歉,没有意识到
地址
不是嵌入式数组,而
coord
是。类似于
criteriac=where(“address.coord”).lt(value);Update Update=new Update().set(“address.coord.$”,value);WriteResult=mongodb.updateMulti(查询(c),更新“餐厅”)@chridam成功了。谢谢,克丽丹和维兰
 Criteria c = where("address.coord.0").lt(value); 
 Update update = new Update().set("address.coord.0", value);
 WriteResult result = mongodb.updateMulti(query(c), update, "restaurants");