1. 程式人生 > >Java實現Mongo巢狀查詢

Java實現Mongo巢狀查詢

我們可能都遇到過這樣的困擾,即如何巢狀查詢,舉個簡單的例子:

{
 "_id" : ObjectId("56e8d3dee4b0c105488c3bfa"),
 "_class" : "com.xx.xx", 
 "deviceId" : "aaaaa",
 "deviceType" : 1,
 "content" : "你好",
 "businessType" : 1,
 "payload" : 
            {
             "from" : 111,
             "type" : 1,
             "page" : "1"
            
}
}

如果想根據deviceType查詢,則非常簡單:

    Query query = new Query();
    CriteriaDefinition criteriaDefinition = Criteria.where("deviceType").is(1);
    query.addCriteria(criteriaDefinition);

但是如何根據payload中的from去查詢呢?其實也非常簡單:

    Query query = new Query();
    CriteriaDefinition criteriaDefinition = Criteria.where("payload.from"
).is(111); query.addCriteria(criteriaDefinition);

看上去並不難吧?