1. 左边是mongodb查询语句,右边是sql语句。对照着用,挺方便。
    2. db.users.find() select * from users
    3. db.users.find({"age" : 27}) select * from users where age = 27
    4. db.users.find({"username" : "joe", "age" : 27}) select * from users where "username" = "joe" and age = 27
    5. db.users.find({}, {"username" : 1, "email" : 1}) select username, email from users
    6. db.users.find({}, {"username" : 1, "_id" : 0}) // no case  // 即时加上了列筛选,_id也会返回;必须显式的阻止_id返回
    7. db.users.find({"age" : {"$gte" : 18, "$lte" : 30}}) select * from users where age >=18 and age <= 30 // $lt(<) $lte(<=) $gt(>) $gte(>=)
    8. db.users.find({"username" : {"$ne" : "joe"}}) select * from users where username <> "joe"
    9. db.users.find({"ticket_no" : {"$in" : [725, 542, 390]}}) select * from users where ticket_no in (725, 542, 390)
    10. db.users.find({"ticket_no" : {"$nin" : [725, 542, 390]}}) select * from users where ticket_no not in (725, 542, 390)
    11. db.users.find({"$or" : [{"ticket_no" : 725}, {"winner" : true}]}) select * form users where ticket_no = 725 or winner = true
    12. db.users.find({"id_num" : {"$mod" : [5, 1]}}) select * from users where (id_num mod 5) = 1
    13. db.users.find({"$not": {"age" : 27}}) select * from users where not (age = 27)
    14. db.users.find({"username" : {"$in" : [null], "$exists" : true}}) select * from users where username is null // 如果直接通过find({"username" : null})进行查询,那么连带"没有username"的纪录一并筛选出来
    15. db.users.find({"name" : /joey?/i}) // 正则查询,value是符合PCRE的表达式
    16. db.food.find({fruit : {$all : ["apple", "banana"]}}) // 对数组的查询, 字段fruit中,既包含"apple",又包含"banana"的纪录
    17. db.food.find({"fruit.2" : "peach"}) // 对数组的查询, 字段fruit中,第3个(从0开始)元素是peach的纪录
    18. db.food.find({"fruit" : {"$size" : 3}}) // 对数组的查询, 查询数组元素个数是3的记录,$size前面无法和其他的操作符复合使用
    19. db.users.findOne(criteria, {"comments" : {"$slice" : 10}}) // 对数组的查询,只返回数组comments中的前十条,还可以{"$slice" : -10}, {"$slice" : [23, 10]}; 分别返回最后10条,和中间10条
    20. db.people.find({"name.first" : "Joe", "name.last" : "Schmoe"})  // 嵌套查询
    21. db.blog.find({"comments" : {"$elemMatch" : {"author" : "joe", "score" : {"$gte" : 5}}}}) // 嵌套查询,仅当嵌套的元素是数组时使用,
    22. db.foo.find({"$where" : "this.x + this.y == 10"}) // 复杂的查询,$where当然是非常方便的,但效率低下。对于复杂查询,考虑的顺序应当是 正则 -> MapReduce -> $where
    23. db.foo.find({"$where" : "function() { return this.x + this.y == 10; }"}) // $where可以支持javascript函数作为查询条件
    24. db.foo.find().sort({"x" : 1}).limit(1).skip(10); // 返回第(10, 11]条,按"x"进行排序; 三个limit的顺序是任意的,应该尽量避免skip中使用large-number

最新文章

  1. css:子元素div 上下左右居中方法总结
  2. 怎样设置才能允许外网访问MySQL
  3. 单例模式getInstance()
  4. P1907飞扬的小鸟
  5. MySQL、PostgreSQL、Ingres r3、MaxDB等开源数据库的详细比较
  6. 10 steps to becoming the developer everyone wants
  7. win8安装matlab7.0
  8. Windows环境自动获取AWR报告
  9. 专题一、ArrayList增删操作技术细节详解
  10. 《转》ACTIONBAR-PULLTOREFRESHLIBS+沉浸式在部分手机上的布局错乱,目前知道的三星系统(TouchWiz)
  11. 页面性能优化和高频dom操作
  12. vue学习记录⑤(组件通信-父与子)
  13. shutil模块和os模块对比
  14. Freeswitch 入门
  15. 等宽高的ImageButton
  16. Linux pwn入门教程——CTF比赛
  17. linux 添加环境变量(php为例)
  18. curl工具介绍和常用命令
  19. ubuntu部署jenkins
  20. 如何使用HtmlTestRunner让自动化测试报告内容更丰富

热门文章

  1. Linux学习日志——基本指令②
  2. 《T-GCN: A Temporal Graph Convolutional Network for Traffic Prediction》 代码解读
  3. 在UOS 上部署 django + uwsgi + nginx 流程
  4. python3 - 常用的操作数据库
  5. 前端实现图片上传预览并转换base64
  6. java十进制二进制互转
  7. CentOS7 安装图形化桌面
  8. C++ Templates (1.4 默认模板实参 Default Template Arguments)
  9. Goland远程连接Linux开发调试
  10. Java——注解