mongodb 查询条件根据数组array的长度(size) 大于某值或者小于某值的查询
Posted On 2017年9月27日
1. 查询某个array的长度等于某值时,我们可以简单的使用$size 操作符。
我们想联合查询符合这2个条件的记录
db.getCollection('taskinfos').find( { $and : [ {"taskDetail.otherParams.partner":"LIHAO"} , { "taskStatus":{ $size : 3 } } ] }).count()
而如果我们想查看taskStatus 数据的长度大于2的时候呢, 用$size 不可用。
// 注意: 此下的语句是不可运行的。 db.getCollection('taskinfos').find( { $and : [ {"taskDetail.otherParams.partner":"YI_MEI"} , { "taskStatus":{ $size : {$gt:2} } } ] }).count()
2. 如果数据的长度大于2 时候,则需要用如下$where 操作符
db.getCollection('taskinfos').find( { "taskDetail.otherParams.partner":"YI_MEI" , $where: "this.taskStatus.length > 2" } )
此篇文章已被阅读4148 次