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. nyoj--214--单调递增子序列(二)(二分查找+LIS)

    单调递增子序列(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 给定一整型数列{a1,a2...,an}(0<n<=100000),找出单调递增最长子序 ...

  2. 使用TensorBoard可视化工具

    title: 使用TensorBoard可视化工具 date: 2018-04-01 13:04:00 categories: deep learning tags: TensorFlow Tenso ...

  3. Scrapy中scrapy.Request和response.follow的区别

    在写scrapy的spider类的parse方法的时候,有些链接需要提取出来继续爬取,这里scrapy提供了一些方法可以方便的实现这个功能,总结如下: 假设我们的目标a标签是target_a 方法1: ...

  4. Linux与Windows信息交互快捷方法

    要把windows上的D盘挂载的Linux上,首先要知道windows的用户名和密码 假设用户名是administrator,密码是123456 首先,在linux上创建一个挂载的目标目录 mkdir ...

  5. swfit的特点

    swfit的特点: 1.swift句尾不需要分号,除非你想在一行中写三行代码就加分号隔开. 2.swift不要写main函数,程序默认从上往下执行 3.swift不分.h和.m文件,一个类只有.swi ...

  6. ActiveMQ学习笔记(4)----JMS的API结构和开发步骤

    1. JMS的API结构 其实上图中的五个API在第一节中我们都已经使用到了.本节将会讲非持久化和持久化topic的使用. 2. JMS的基本开发步骤 1. 创建一个JMS工厂,  Connectio ...

  7. SpringBoot学习笔记(5)----SpringBoot中异常处理的三种方法

    对于异常的处理,Spring Boot中提供默认的一个异常处理界面,如下图: 但是在实际的运用开发中,这样的页面显然是不友好的,Spring Boot也提供了自定义异常处理的方式,如下总结三种一场处理 ...

  8. 利用SignalR来同步更新Winfrom

    之前写了个用Socket来更新多个Winfrom的试例,这两天看了下SignalR,也用这个来试一下 SignalR 地址:https://www.asp.net/signalr 我这个也是基于 ht ...

  9. Mybatis中<resultMap>用法(主要用于一对多去重)

    一.创建部门表和员工表: 创建部门信息表`t_department`,其中包括`id`, `name` CREATE TABLE t_department (         id INT AUTO_ ...

  10. LRU算法与LRUCache

    关于LRU LRU(Least recently used,最近最少使用)算法是操作系统中一种经典的页面置换算法,当发生缺页中断时,需要将内存的一个或几个页面置换出,LRU指出应该将内存最近最少使用的 ...