Mongodb查询语句与Sql语句对比
左边是mongodb查询语句,右边是sql语句。对照着用,挺方便。
db.users.find() select * from users
db.users.find({"age" : 27}) select * from users where age = 27
db.users.find({"username" : "joe", "age" : 27}) select * from users where "username" = "joe" and age = 27
db.users.find({}, {"username" : 1, "email" : 1}) select username, email from users
db.users.find({}, {"username" : 1, "_id" : 0}) // no case // 即时加上了列筛选,_id也会返回;必须显式的阻止_id返回
db.users.find({"age" : {"$gte" : 18, "$lte" : 30}}) select * from users where age >=18 and age <= 30 // $lt(<) $lte(<=) $gt(>) $gte(>=)
db.users.find({"username" : {"$ne" : "joe"}}) select * from users where username <> "joe"
db.users.find({"ticket_no" : {"$in" : [725, 542, 390]}}) select * from users where ticket_no in (725, 542, 390)
db.users.find({"ticket_no" : {"$nin" : [725, 542, 390]}}) select * from users where ticket_no not in (725, 542, 390)
db.users.find({"$or" : [{"ticket_no" : 725}, {"winner" : true}]}) select * form users where ticket_no = 725 or winner = true
db.users.find({"id_num" : {"$mod" : [5, 1]}}) select * from users where (id_num mod 5) = 1
db.users.find({"$not": {"age" : 27}}) select * from users where not (age = 27)
db.users.find({"username" : {"$in" : [null], "$exists" : true}}) select * from users where username is null // 如果直接通过find({"username" : null})进行查询,那么连带"没有username"的纪录一并筛选出来
db.users.find({"name" : /joey?/i}) // 正则查询,value是符合PCRE的表达式
db.food.find({fruit : {$all : ["apple", "banana"]}}) // 对数组的查询, 字段fruit中,既包含"apple",又包含"banana"的纪录
db.food.find({"fruit.2" : "peach"}) // 对数组的查询, 字段fruit中,第3个(从0开始)元素是peach的纪录
db.food.find({"fruit" : {"$size" : 3}}) // 对数组的查询, 查询数组元素个数是3的记录,$size前面无法和其他的操作符复合使用
db.users.findOne(criteria, {"comments" : {"$slice" : 10}}) // 对数组的查询,只返回数组comments中的前十条,还可以{"$slice" : -10}, {"$slice" : [23, 10]}; 分别返回最后10条,和中间10条
db.people.find({"name.first" : "Joe", "name.last" : "Schmoe"}) // 嵌套查询
db.blog.find({"comments" : {"$elemMatch" : {"author" : "joe", "score" : {"$gte" : 5}}}}) // 嵌套查询,仅当嵌套的元素是数组时使用,
db.foo.find({"$where" : "this.x + this.y == 10"}) // 复杂的查询,$where当然是非常方便的,但效率低下。对于复杂查询,考虑的顺序应当是 正则 -> MapReduce -> $where
db.foo.find({"$where" : "function() { return this.x + this.y == 10; }"}) // $where可以支持javascript函数作为查询条件
db.foo.find().sort({"x" : 1}).limit(1).skip(10); // 返回第(10, 11]条,按"x"进行排序; 三个limit的顺序是任意的,应该尽量避免skip中使用large-number
转自:http://www.cnblogs.com/viviman/archive/2012/11/21/2780562.html
转载于:https://www.cnblogs.com/Kuleft/p/5407491.html
Mongodb查询语句与Sql语句对比相关推荐
- mysql查询建表SQL语句
前言 mysql 5.7.26 查询建表SQL语句 SHOW CREATE TABLE <表名> 示例1: shell> mysql -uroot -p Enter password ...
- sql server 运维时CPU,内存,操作系统等信息查询(用sql语句)
原文:sql server 运维时CPU,内存,操作系统等信息查询(用sql语句) 我们只要用到数据库,一般会遇到数据库运维方面的事情,需要我们寻找原因,有很多是关乎处理器(CPU).内存(Memor ...
- mysql 怎么查询慢sql语句_Mysql中 查询慢的 Sql语句的记录查找
Mysql中 查询慢的 Sql语句的记录查找 慢查询日志 slow_query_log,是用来记录查询比较慢的sql语句,通过查询日志来查找哪条sql语句比较慢,这样可以对比较慢的sql可以进行优化. ...
- Oracle数据库表连接查询并分页SQL语句提示未明确定义列
Oracle数据库表连接查询并分页SQL语句提示未明确定义列 两张表中的字段: t_product t_category product_id category_id product_name cat ...
- oracle sq语句查询时间,Oracle实现查询时间段的Sql语句两法
Oracle实现查询时间段的Sql语句两法,相比ORacle要查询时间段的Sql语句还是与Sql Server的Sql语句有区别的,下面举两种方法来说明在ORacle是如何查询时间段的: 第一种方法: ...
- Hot Chocolate提供了UseFiltering属性来用于构造包含查询过滤的SQL语句,所以我们直接使用就好了
使用Hot Chocolate和.NET 6构建GraphQL应用(5) -- 实现Query过滤功能 系列导航# 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 需求# ...
- sqlserver sql语句|经典sql语句|实用sql语句
sqlserver sql语句|经典sql语句|实用sql语句 一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop databa ...
- 学习SQL语句之SQL语句大全
学习SQL语句之SQL语句大全 -------------------------------------------------------------------------------- 作者: ...
- mysql语句生成,SQL语句生成器
SQL语句自动生成器正式版是一款功能强大.十分实用方便的数据库编程软件,可以帮助用户简便快捷的生成sql语句,SQL语句自动生成器正式版支持桌面数据库和大中型数据库,以及排序.条件.分组.函数等多种s ...
- 【mySQL】mySQL动态语句(SQL语句中有变量)
mysql开发中文博客:https://imysql.cn/ 动态表名列名: delimiter // create procedure oneKey(in newName varchar(250), ...
最新文章
- Zend Guard 各版本下载【破解方法】
- kafka身份认证 maxwell_聊聊MaxwellKafkaProducer
- python 读写数据
- Python---udp绑定信息以及网络通信过程
- Docker最全教程——数据库容器化之持久保存数据(十二)
- 技术沙龙|赋能企业数字化转型,移动云云原生应用架构实践
- php怎么截取数组最后元素,PHP如何获取数组最后一个元素的键和值?(图文+视频)...
- 春天的事务管理,图解事务传播行为
- CSS3D写3d画廊滚动
- 安卓rom制作教程_刹那 刷机教程20-1三星S10N10等系列韩版国行安卓9升级10详细步骤...
- 在wps里面怎么设置触发器_wps触发器怎么设置
- 计算机绘图国标规定,机械制图教程(1.1)国家标准关于制图的一般规定
- 惠普硬盘测试工具_不掉速的黑科技,HP固态硬盘测试与拆解
- 华硕电脑GeForce类显卡如何解决:NVIDIA安装程序无法继续
- oracle取较小数,oracle 取小数位数
- PHP WebSehll 后门脚本与检测工具
- 【Elasticsearch】 (搜索引擎如何做搜索推荐?) Elasticsearch中 使用 Suggesters 推荐查询
- 用HTML/CSS制作一个美观的个人简介网页——学习周记1
- 【Camera】Camera中光圈、快门、感光度
- 香肠派对手游怎么在电脑上玩 香肠派对电脑版玩法教程
热门文章
- sqlserver 2014 删除主键约束
- VM中Windows server 2012 R2系统安装SQL SERVER 2012的安装步骤
- 将Windows MyEclipse的web项目移植到Debian下
- Leetcode Maximal Rectangle
- CCommandLineInfo详解-启动不创建新文档【对单文档有问题?】
- 函数形参传递概念及问题分析
- IP地址不是唯一的吗?为什么路由器的IP地址都是这样的呢?
- SQL触发器实例讲解
- TCP/UDP网络编程入门教程之二:TCP Server端——socket与文件描述符
- 单片微型计算机简称单片机是指集成,什么是单片微型计算机 -解决方案-华强电子网...