我们可能都遇到过这样的困扰,即如何嵌套查询,举个简单的例子:
{
"_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);
看上去并不难吧?