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为降序)

mongodb 的查询深入剖析的更多相关文章

  1. TODO:MongoDB的查询更新删除总结

    TODO:MongoDB的查询更新删除总结 常用查询,条件操作符查询,< .<=.>.>=.!= 对应 MongoDB的查询操作符是$lt.$lte.$gt.$gte.$ne ...

  2. MongoDB各种查询操作详解

    这篇文章主要介绍了MongoDB各种查询操作详解,包括比较查询.关联查询.数组查询等,需要的朋友可以参考下   一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可 ...

  3. Mongodb高级查询【二】

    上一篇文章,写了mongodb常规操作,继续写入,本章主要讲高级查询,文本,聚集,大数据查询. Mongodb的查询语法是很多的,是NOSQL队伍中比较丰富的一个.当然有很多查询跟关系型查询无法相比. ...

  4. mongoDB高级查询$type4array使用解析

    今天在使用mongoDB高级查询$type:符号 -- 4代指Array类型发现一个问题. $type符号: $type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果. 下面是mong ...

  5. MongoDb 命令查询所有数据库列表

    原文:http://blog.csdn.net/huxu981598436/article/details/47216493 MongoDb 命令查询所有数据库列表 CODE: > show d ...

  6. mongodb并列查询,模糊查询

    在mongodb的查询语句中可以这么写{“a”:$gt(1),"a":$lt(5)} 但这么查询出来的值会做单个条件匹配,最终结果为a大于1的集合+a小于5的集合 如果需要实现去交 ...

  7. mongodb中查询返回指定字段

    mongodb中查询返回指定字段   在写vue项目调用接口获取数据的时候,比如新闻列表页我只需要显示新闻标题和发表时间,点击每条新闻进入详情页的时候才会需要摘要.新闻内容等关于此条新闻的所有字段.  ...

  8. MongoDB 数据类型查询 — $type使用

    MongoDB 使用过程中经常需要根据字段的类型来查询数据, 而MongoDB中查询字段类型是通过$type操作符来实现. $type使用法语: db.集合名.find({$type:类型值}); / ...

  9. mongoDB 高级查询语法

    http://www.cnblogs.com/ITAres/articles/2084794.html本文参考自官方的手册:http://www.mongodb.org/display/DOCS/Ad ...

随机推荐

  1. ICMP 隧道——将流量封装进 IMCP 的 ping 数据包中,旨在利用 ping 穿透防火墙的检测

    利用 ICMP 隧道穿透防火墙 转自:http://xiaix.me/li-yong-icmp-sui-dao-chuan-tou-fang-huo-qiang/ 以前穿透防火墙总是使用 SSH 隧道 ...

  2. (转载)10个实用的但偏执的Java编程技术

    10个实用的但偏执的Java编程技术 在沉浸于编码一段时间以后(比如说我已经投入近20年左右的时间在程序上了),你会渐渐对这些东西习以为常.因为,你知道的…… 作者:小峰来源:码农网|2015-09- ...

  3. Pyinstaller 0

    Pyinstaller 是一个小的可以打包我们所写的Python脚本,来生成相应的可执行文件. 它是怎么工作的? PyInstaller读取您编写的Python脚本.它会分析您的代码,以发现您的脚本执 ...

  4. hiho1041 - 树,遍历

    题目链接 给一棵树,给一个序列,问能不能按这个序列遍历这棵树,满足每条边最多经过两次. -------------------------------------------------------- ...

  5. 在 android studio 中更新安卓应用版本号

    随着应用程序不断修改,版本号也应当变化.要更新安卓应用的版本号,只需要在 build.gradle(module:app) 中修改 versionCode 和 versionName 即可,也可以只改 ...

  6. 2013-11-02 【webrebuild广州站】分享会纪要

    为了不让自己沉浸个人的技术研究当中,也为了多去接触业界新技术新思想,今天去参加了webrebuild广州站的一个分享交流会,效果不错,有一些获益.听了四个主题,依据个人获取信息的情况来做个纪要(比较粗 ...

  7. c++PrimerChap8IO库

    #include<iostream> #include<fstream> #include<string> using namespace std; int mai ...

  8. 关于数组array_diff(array1, array2)求差集来比较数组是否相等的问题细究

    无意中发现很多朋友都喜欢使用array_diff(array1, array2)来判断两个数组是否相等, 我自己也偶尔会这么使用 但是今天我在写代码的过程中无意发现这么做是不准确的. 首先我们来看一下 ...

  9. Python seed() 函数--每次产生一样的随机数系列

    import random random.seed( 10 ) print("Random number with seed 10 : ", random.random()) #0 ...

  10. PID三种参数的理解

    来源:http://blog.gkong.com/liaochangchu_117560.ashx PID是比例.积分.微分的简称,PID控制的难点不是编程,而是控制器的参数整定.参数整定的关键是正确 ...