【发布时间】:2014-01-08 04:25:33
【问题描述】:
是否可以在 mongodb 中的另一个对象中检索对象数组中的特定值??
@Document
class vehicleStation {
@Id
String stationId;
List<car> cars;
}
@Document
class car{
@Id
String carNo;
String name;
}
我的 json 结构如下所示
{"_id":"0001","汽车":[{"_id":"C001", "名称":"本田"},{"_id":"C002","名称":"福特"}]}
是否可以检索特定车辆站(stationId="0001" 和 carNo="C002")的“名称”值,即“福特”
如何查询 mongodb 以获取 vehicleStation 的值“Ford”(stationId="0001" 和 carNo="C002")
【问题讨论】:
-
我能够更新数据,但我不知道如何在不从 java 端迭代对象列表的情况下重新获取数据 'Query query = new Query(Criteria.where("stationId"). is("0001").andOperator(Criteria.where("cars.carNo").is("C002")));mongoTemplate.upsert(query, new Update().set("cars.$.name", "宝马"), Car.class);`
-
不熟悉spring,但应该有一些方法,如
find或findOne,可以设置返回字段以及where-clause。 -
是的...它只会返回对象,但我想要内部对象中的特定值。
标签: mongodb mongodb-query spring-data-mongodb