美文网首页
常用的MongoDB语句

常用的MongoDB语句

作者: 花开半夏fly | 来源:发表于2023-02-16 10:00 被阅读0次

    MongoDB语言:

    1.按条件查看

    db.getCollection('User').find({UserName:"XXX"})
    

    2.判断某个表key是否存在,true为存在,false为不存在

    db.getCollection('Member').find({"AddedPermissions":{"$exists":true}})
    

    3.多个条件进行查询

    db.getCollection('Group').find({"GroupName.zh":{$regex:"名字"},Classification:"OpenCustomer"})
    
    

    4.某个字段包含特定的文字

    db.getCollection('Group').find({"GroupName.zh":{$regex:"特定文字"}})
    
    

    5.查询数组里面包含某个字段

    db.getCollection('Member').find({AddedPermissions:{$elemMatch:{$eq:"XX"}}})
     
    

    6.按条件计算count

    db.getCollection('Group').find({"Country.zh":{$regex:"中国"}}).count()
    
    1. 按某个条件进行求和
    db.getCollection('Group').aggregate([{$group : {_id : "$Country.zh", num_tutorial : {$sum : "$ResidentNumber"}}}])
    
    
    1. 修改更新语句
    db.getCollection('Job').update({LatestTriggerDate:1583833687399.0},{$set:{LatestTriggerDate:0.0}})
    
    

    9.等于

    db.col.find({"by":"菜鸟教程"}).pretty()
    

    10 小于

    db.col.find({"likes":{$lt:50}}).pretty()
    

    11 小于或者等于

    db.col.find({"likes":{$lte:50}}).pretty()
    

    12 大于

    db.col.find({"likes":{$gt:50}}).pretty()
    

    13 大于或者等于

    db.col.find({"likes":{$gte:50}}).pretty()
    
    

    14 不等于

        db.col.find({"likes":{$ne:50}}).pretty()
    

    15 OR

    db.col.find(
       {
          $or: [
             {key1: value1}, {key2:value2}
          ]
       }
    ).pretty()
    
    

    16、查询所有记录

    db.userInfo.find();
    
    1. 查询去掉后的当前聚集集合的某列的重复数据
    db.userInfo.distinct(“name”);
    
    

    18.字符模糊查询

    db.userInfo.find({name: /mongo/});
    

    19.查询制定列数据

    db.userInfo.find({}, {name: 1, age: 1});
     
    相当于:select name, age from userInfo;
    
    1. 按条件查询指定列数据
    db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});
     
    相当于:select name, age from userInfo where age <25;
    
    
    1. 排序
    升序:db.userInfo.find().sort({age: 1});
    
    降序:db.userInfo.find().sort({age: -1}); 
    
    1. 查询前5条数据
    db.userInfo.find().limit(5);
     
    相当于:select * from userInfo limit 5;
    
    
    1. 查询10条以后的数据
    db.userInfo.find().skip(10);
     
    相当于:select count() from userInfo as total;
     
    select from userInfo limit 10,total;
    
    1. 查询在5-10之间的数据
    db.userInfo.find().limit(10).skip(5);
    可用于分页,limit是pageSize,skip是第几页pageSize
    
    相当于:select from userInfo limit 5,10;
    
    
    
    1. or 与查询
    db.userInfo.find({$or: [{age: 22}, {age: 25}]});
     
    相当于:select * from userInfo where age = 22 or age = 25;
    
    1. 查询第一条数据
    db.userInfo.findOne();
     
    db.userInfo.find().limit(1);
     
    相当于:select * from userInfo limit 1;
    
    
    
    1. 查询某个结果集的记录条数
    db.userInfo.find({age: {$gte: 25}}).count();
     
    相当于:select count(*) from userInfo where age >= 20;
    
    1. 查询第一条数据
    db.userInfo.findOne();
     
    db.userInfo.find().limit(1);
     
    相当于:select * from userInfo limit 1;
    
    
    
    1. 查询某个结果集的记录条数
    db.userInfo.find({age: {$gte: 25}}).count();
     
    相当于:select count(*) from userInfo where age >= 20;
    
    1. $elemMatch操作符将匹配数组中至少有 1 个元素满足查询条件的文档。
    查找AddedPermissions数组中等于NationWideLearnCenter的文档
    db.getCollection('Member').find({AddedPermissions:{$elemMatch:{$eq:"NationWideLearnCenter"}}})
    

    29.$eq操作符将匹配数组中至少有 1 个元素满足查询条件的文档。

    查找AddedPermissions数组中等于NationWideLearnCenter的文档
    db.getCollection('Member').find({AddedPermissions:{$elemMatch:{$eq:"XX X"}}})
    

    30.$eq 匹配等于指定值的值

    
    db.getCollection('test').find({"type": {$eq:"技术"}})
    
    

    31.$in 匹配数组中指定的任何值

    
    db.getCollection('test').find({"tag": {$in:["A"]}})
    
    

    32.$regex 匹配与正则表达式规则相符的文档
    包含某个字符串

    i表示不区分大小写
    db.getCollection('Member').find({'SearchName':/XXX/i})
    
    db.getCollection('Member').find({'SearchName':{$regex:'XXX'}})
    
    
    1. 连表查询
    db.PatientDoctor.aggregate([
    {
    $lookup: { // 左连接
    from: "Patient", // 关联到Patient表
    localField: "PatientId", // PatientDoctor 表关联的字段
    foreignField: "p8Id", // Patient 表关联的字段
    as:"Patients"
    }
    },
    { $match : {"DoctorDisplayName.zh":"XXX"}},
    { $group: { _id:"$Patients.Gender", num_tutorial: { $sum: 1 } } }
    ])
    
    
    
    1. type有哪几种查询
    查询Schedule里面有哪几种类型的定时任务
    db.getCollection('Schedule').aggregate([{$group:{_id:'$ScheduleType'}}])
    
    

    相关文章

      网友评论

          本文标题:常用的MongoDB语句

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