Mongodb笔记五:Mongod高级命令

此章节数据见上一节。

1、按条件查询
    1)根据条件进行查询
        db.集合名.find({查询条件});
        实例1:查询所有男性歌手
        db.singer.find({"sex":"nan"});

        相当于SQL语句: select * from singer where sex="nan";

        
        实例2:查询名字叫lisi的歌手

        db.singer.find({"name":"lisi"});

        

  2)$gt 大于

        db.集合名.find({"键名" : {$gt:30} });           --- 查询大于30

        实例3:查询命令大于30的歌手

        db.singer.find({"age" : {$gt:30} }); 

        相当于SQL语句: select * from where age > 30;

        

  3) $lt 小于

        db.集合名.find({"键名" : {$lt:20} });           --- 查询小于20

        相当于SQL语句: select * from where age<20;

        

  4)$gte 大于等于

        db.集合名.find({"键名" : {$gte:30} });         -- 查询大于等于30

        

  5)$gte 小于等于

        db.集合名.find({"键名" : {$lte:20} });           --- 查询小于等于20

        

 6)选择区间

      db.集合名.find({"key" : {$gt:20, $lt:60 } });           --- 查询20到60之间的数据

      相当于SQL语句: select * from where age>20 and age<60;

      

7)不等于

       db.集合名.find({"key" : {$ne:44 } });           --- 查询不等于44的数据

        相当于SQL语句: select * from where age != 44;

       

 8)取模运算

      db.集合名.find({"key" : {$mod:[10,4] } });           --- 取模运算,条件相当于key%10 == 4, 即key除以10余数为4的数据

      

9)in属于

     db.集合名.find({"key" : {$in:[13,44] } });           -- 条件相当于key等于[13,44]中任何一个

     

10)nin属于

     db.集合名.find({"key" : {$nin:[13,44] } });           -- 条件相当于key除了[13,44]中 任何一个

     

11)size数量、尺寸

      db.集合名.find({"key" : {$size:1 } });           -- 条件相当于key对应的值的数量是1(值必须是数据)

      这个有点难理解,通过例子理解容易些:

      比如一个歌手代表作是一个数组,找出代表作有3个的歌手

      先插入一条数据,然后查询:

      db.singer.insert({
    "num":"6",
    "name":"yukai",
    "age":23,
    "sex":"nan",
    "job":"singer",
    "sing":["where you", "love", "go go go"]
});

     

12) $exist 是否存在某个键名

         db.集合名.find({"key" : {$exists:true|false } });           -- true返回存在字段key的数据,false返回不存在字段的数据

         查询有sing字段的数据:

         

         

13) $or 符合多个条件中任意一个

         db.集合名.find({{$or:[{a:1}, {b:2}] } });           -- 查询符合条件a=1的或者符合条件b=2的数据

          $or 表示或的意思。(注意:Mongodb 1.5.3后版本可用)

         如打印名字叫zhangsan和所有女歌手的名字:

         

          db.集合名.find({"key.subkey" : value });           --内嵌对象中的值匹配。注意:"key.subkey" 必须加引号

          插入一条数据,用于查询:

           db.singer.insert({
    "num":"7",
    "name":"tayun",
    "age":22,
    "sex":"nv",
    "job":"singer",
    "sing":[{"yaogun":["where you", "love", "go go go"]}, {"liuxing":["china heart", "who are you"]}]
});

          

  14)模糊查询 

          db.集合名.find({"key" : value });           --注意value必须是正则表达式

          查询所有姓zhang的歌手:

          db.集合名.find({"key" : /zhang/ });       --//是JS的语法

          

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都飘雪

您的1毛奖励是我创作的源源动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值