0

MongoDB 文档中,我们有以下示例:

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"}]}
4

1 回答 1

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" } }

希望这是正确的方法......

于 2012-11-14T12:58:16.350 回答