您的位置:首页 > 数据库 > Mongodb

mongodb 的查询深入剖析

2017-03-04 14:53 267 查看
       db.表名.find({goods_id:3});                     //查询出 goods_id 为 3 的数据
       db.表名.find({cat_id:{$ne:3}},{cat_id:1,goods_name:1,_id:0});                   
//查询出分类 id 不等于 3 的商品名称和分类 id  
       db.表名.find({cat_id:{$not:3}},{cat_id:1,goods_name:1,_id:0});                   
//查询出分类 id 不等于 3 的商品名称和分类 id 
                         $lt                    
小于
                         $lte                  
小于或等于
                         $gt                    大于
                         $gte                  大于或等于
                         $in                     in(如 cat_id:{$in:[3,4]} 分类 id 是 3和 4 的)
                         $nin                   not in(如 cat_id:{$nin:[3,4]} 分类 id 不是 3和 4 的)
                         $all                    无对应项,指数组中所有单元匹配
       db.表名.find({$and:[{shop_price:{$gte:100}},{shop_price:{$lte:500}}]},{shop_price:1,goods_name:1});

       ////查询出商品价格大于等于100 and 小于等于500 的商品价格、商品名称
       db.表名.find({$nor:[{cat_id:3},{cat_id:11}]},{shop_price:1,goods_name:1});          //查询出分类 id 不等于 3 和 分类 id 不等于 11 的数据
       db.表名.find({goods_id:{$mod:[5,0]}},{cat_id:1,goods_name:1,_id:0});                    //查询出商品 id 模 5 等于0 的分类 id 和 商品名称 
 
      db.表名.find({age:{$exists:1}});                                                 //查询出存在年龄属性的数据

      db.表名.find({age:{$type:1}});                                                   //查询出年龄属性类型为 double 类型的
                                             2                                     
字符串类型(更多类型请百度)
     
      db.表名.find({hobby:{$all:['a','b']}});                                                 //查询出爱好中有 a 和 b 的数据(必须都满足
      db.表名.find({$where:'this.age>18 && this.age<25'});                                                //查询出所有年龄大于 18 并且小于 25 的数据(必须要把二进制数据再转换成 json 对象进行匹配,所以效率比较低,而其他条件表达式只通过二进制比对形式匹配。)
      db.表名.find({goods_name:{$regex:/^诺基亚.*/}});                                           //正则匹配查询出所有数据中商品名称诺基亚开头的(效率不高,慎用)
      db.表名.find().sort({age:1/-1});                                                                          //按年龄排序(1 为升序,2为降序)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息