标签归档文章: mongodb

mongodb 查询条件根据数组array的长度(size) 大于某值或者小于某值的查询

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

 

 

mongodb shell 更新多条记录

db.version()
3.0.5

用update更新满足条件的多条记录时,需要设置 multi:true。

例子:

db.collection.update({},{$set:{“isSend”:false,”sendCount”:0}},{upsert:false,multi:true}); 更多…