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

时间:2017-09-21 14:36:27

标签: java spring mongodb spring-data spring-data-mongodb

This is our document in MongoDB

我们需要更新值小于50的纬度坐标(address.coord [0])。 如何使用Spring Data构建查询来执行此操作。以下几个片段显示了我们尝试过的方法。

以下进行更新,但会删除coord-0(纬度)和coord-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").lt(value);
Update update = new Update().set("address.$.coord", value);
WriteResult result = mongodb.updateMulti(query(c), update, "restaurants");

提前感谢您的宝贵答案

1 个答案:

答案 0 :(得分:1)

 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");
  

address.coord.0