首页 > 代码库 > MongoDB中关于查询条件中包含集合中字段的查询

MongoDB中关于查询条件中包含集合中字段的查询

要查询的数据结构如下:

以查询其中的versionLimitList字段为例

MongoOperations工具类查询相关语句

<pre name="code" class="java">Criteria criteria1 = Criteria.where("validStartTime").gt(new Date()).
		and("versionLimitList").elemMatch
		(Criteria.where("clientId").is(109).
		and("platFormCode").is(2);

查询validStartTime大于当前时间,并且versionLimitList字段中的clientId属性值为109和platFormCode属性值为2

MongoVue中的语句

{
    "validStartTime": {
        "$gt": ISODate("2014-11-01T10:33:09.661Z")
    },
    "versionLimitList": {
        "$elemMatch": {
            "clientId": 109,
            "platFormCode": 2
        }
    }
}
对应实际执行的语句

db.systemInfo211.find({ "validStartTime" : { "$gt" : ISODate("2014-11-01T10:33:09.661Z") }, "versionLimitList" : { "$elemMatch" : { "clientId" : 109, "platFormCode" : 2 } } }).limit(50);
查询结果如下



MongoDB中关于查询条件中包含集合中字段的查询