在MongoDB Documentation中,我们得到了以下示例:
db.factories.insert( { name: "xyz", metro: { city: "New York", state: "NY" } } );
db.factories.ensureIndex( { metro : 1 } );
// this query can use the above index:
db.factories.find( { metro: { city: "New York", state: "NY" } } );
我目前正在寻找一种解决方案,以便在spring数据中实现此查询。我的第一个方法是
Query.query(Criteria.where("metro")
.andOperator(Criteria.where("city").is("New York")
.and("state").is("NY")))
但这导致以下查询
{ "metro" : { } , "$and" : [ { "city" : "New York" , "state" : "NY"}]}
答案 0 :(得分:0)
最后,我通过摆弄来找到解决方案:
Query.query(Criteria.where("metro").is(
Query.query(
Criteria.where("city").is("New York")
.and("state").is("NY")).getQueryObject()
)
)
// results in { metro: { city: "New York", state: "NY" } }
希望这是正确的方法......