语句

作者: _若无 | 来源:发表于2023-02-02 09:29 被阅读0次
// 比较符
$eq 匹配等于指定值的值
$gt 匹配大于指定值的值
$gte 匹配大于或等于指定值的值
$in 匹配数组中指定的任何值
$lt 匹配小于指定值的值
$lte 匹配小于或等于指定值的值
$ne 匹配所有不等于指定值的值
$nin 不匹配数组中指定的任何值

// 逻辑查询操作符
$and 匹配符合多个条件的文档
$not 匹配不符合条件的文档
$nor 匹配不符合多个条件的文档
$or 匹配符合任一条件的文档

// 元素查询操作符
$exists 匹配具有指定字段的文档
$type 匹配字段值符合类型的文档

image.png

membersNum 根据类型查找数据

{membersNum:{$type:"string"}}
db.getCollection('tableName').find({$and:[{province: "云南省"}{membersNum:{$type:"string"}}]})

membersNum 根据不等于空

{membersNum:{$ne:null}}
db.getCollection('tableName').find({$and:[{province: "云南省"}{membersNum:{$ne:null}}]})

统计数量

db.getCollection('tableName').find({$and:[{province: "云南省"},{status: 1}]}).count()

membersNum字段 统计累加求和

db.getCollection('tableName')
.aggregate({
    $match:{
        $and:[{province: "云南省"},{status: 1}]
    }
},
{
    $group: { _id : "$province", fieldName : { $sum: "$membersNum" } } 
})

根据条件更新

// 更新
db.getCollection('tableName').find({$and:[{status: 1},{membersNum:{$type:"long"}}]}).forEach(
    function(item) {
        db.getCollection('outside_org_data').update({
            "_id": item._id
        }, {
            $set: {
                "membersNum": 10
            }
        })
    }
)

string 筛选根据length

筛选meeting字段长度>2的数据
db.getCollection('tableName').find({$and:[{formId:22},{'$where':"function(){ return this.meeting.length>2}"}]})

根据条件更新

// 根据条件 更新数据
db.getCollection('tableName').updateMany({formId:22,status:1,youthNum:1,youthOtherPersonelNum:{$type:2}},{$set:{youthOtherPersonelNum:0}})

组合条件

db.getCollection('tableName').aggregate(
    [ { "$match" : 
        { "formId" : 22 , "status" : 1 , "youthNum" : 1 , "buildList" : 1}
      },
      { "$project" : 
          { "buildListData" : 1 , "province" : 1 , "city" : 1 , "district" : 1 , "_id" : 0}
      },
      { "$unwind" : "$buildListData"} , 
      { "$group" : 
          { "_id" : 
              { "province" : "$province" , "sgwActiveTypeNum" : "$buildListData.sgwActiveTypeNum" , "sgeActivityPeoplesNum" : "$buildListData.sgeActivityPeoplesNum"} ,\
              "count" : { "$sum" : 1}
          }
      } , 
      { "$project" : 
          { "areaName" : "$_id.province" , "sgwActiveTypeNum" : "$_id.sgwActiveTypeNum" , "sgeActivityPeoplesNum" : "$_id.sgeActivityPeoplesNum" , "total" : "$count" , "_id" : 0}
      }
    ])

根据条件 某字段求和

db.getCollection("tableName").aggregate([
    { 
      "$match":{ formId:22, status:1,youthNum:1,province: '重庆市',membersNum:{$type:18}}
    },{
      "$group":{
        "_id":"membersNum",
        total:{$sum:"$membersNum"}
      }
    }
])

批量查找替换

var result = db.getCollection('tableName1').find({$and:[{userId:351359}]})

while(result.hasNext()){
     var obj = result.next();
     db.getCollection('tableName').updateOne({_id:obj._id},{$set:{edu: obj.edu}})
}

查找结果 按照某字段排序

db.getCollection('tableName').find({$and:[{status:1}]}).sort({userId: 1})

相关文章

网友评论

      本文标题:语句

      本文链接:https://www.haomeiwen.com/subject/bdhihdtx.html