Mongodb 与sql 语句对照
此处用mysql中的sql语句做例子,C# 驱动用的是samus,也就是上文中介绍的第一种.
引入项目MongoDB.dll
//创建Mongo连接
var mongo = new Mongo("mongodb://localhost");
mongo.Connect();
//获取一个数据库,如果没有会自动创建一个
var db = mongo.GetDatabase("movieReviews");
//创建一个列表,并为这个列表创建文档
var movies = db.GetCollection("movies");
连接没问题之后,现在让我们用mysql 与mongodb的一些语句做下对比:
| MongoDB | Mysql | |
| 查询全部 | movies.find(new Document()) | SELECT * FROM movies |
| 条件查询 | movies.Find(new Document { { "title", "Hello Esr" } }); | SELECT * FROM movies WHERE title= 'foobar' |
| 查询数量 | movies.Find(new Document { { "title", "测试2" } }).Documents.Count(); | SELECT COUNT(*) FROM movies WHERE `title` = 'foobar' |
| 数量范围查询 | 1, movies.Find(new Document().Add("where",newCode("this.num>50")));2, movies.Find(newDocument() .Add("num", newDocument().Add("
gt",50))); (gt:>; gte : >= ; lt:<; lte : <= ; ne:!=)3,movies.Find("this.num>50");4, movies.Find(newDocument().Add(" where",new Code("function(x){ return this.num > 50};"))); |
select * from movies where num > 50 |
| 分页查询 | movies.Find(new Document()).Skip(10).Limit(20); | SELECT * FROM movies limit 10,20 |
| 查询排序语句 | movies.Find(new Document()).Sort(new Document() { { "num", -1 } }); | SELECT * FROM movies ORDER BY num DESC |
| 查询指定字段 | movies.Find(new Document().Add("num", new Document().Add("$gt", 50)), 10, 0, new Document() { { "title", 1 } }); | select title from movies where num > 50 |
| 插入语句 | movies.Insert(new Document() { { "title", "测试" }, { "resuleData", DateTime.Now } }); | INSERT INOT movies (`title`, `reauleDate`) values ('foobar',25) |
| 删除语句 | movies.Remove(new Document() { { "title", "Hello Esr" } }); | DELETE * FROM movies |
| 更新语句 |
movies.Update(new Document() { { "title", "测试2" } } , new Document() { { "title", "测试11111" } }); |
UPDATE movies SET `title` = ‘测试1111’ WHERE `title` = '测试1111' |
| Linq查询 |
(from item in db.GetCollection("movies").Linq() where ((string)item["title"]).StartsWith("Esr") select item); |
select * from movies where title like ‘%Esr’ |
这里只举出了几个比较典型的例子,可以这么说,只要mysql可以完成的sql语句,在mongodb里面都可以实现.
Mongodb 与sql 语句对照的更多相关文章
- MongoDB对应SQL语句
-------------------MongoDB对应SQL语句------------------- 1.Create and Alter 1. sql: crea ...
- mongodb 跟踪SQL语句及慢查询收集
有个需求:跟踪mongodb的SQL语句及慢查询收集 第一步:通过mongodb自带函数可以查看在一段时间内DML语句的运行次数. 在bin目录下面运行 ./mongostat -port 端口号 ...
- mongodb与sql语句对比
左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. db.users.find() select * from users db.users.find({"age" ...
- Mongodb 与 SQL 语句对照表
In addition to the charts that follow, you might want to consider the Frequently Asked Questions sec ...
- mongodb与sql语句对照表
inert into users value(3,5) db.users.insert({a:3,b:5}) select a,b from users db.users.find({}, { ...
- mongodb的sql日志
在Yii2中是没有打印出mongodb的sql语句,故借用下log来查看吧. 在网上有说可以使用$model->find()->createCommand()->getRawSql( ...
- Mongodb操作之查询(循序渐进对比SQL语句)
工具推荐:Robomongo,可自行百度寻找下载源,个人比较推荐这个工具,相比较mongoVUE则更加灵活. 集合简单查询方法 mongodb语法:db.collection.find() //co ...
- Mongodb操作之查询(循序渐进对比SQL语句)(转http://www.tuicool.com/articles/UzQj6rF)
工具推荐:Robomongo,可自行百度寻找下载源,个人比较推荐这个工具,相比较mongoVUE则更加灵活. 集合简单查询方法 mongodb语法:db.collection.find() //co ...
- mongodb查询语句与sql语句对比
左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. db.users.find() select * from users db.users.find({"age" ...
随机推荐
- C程序的内存布局
1.代码段(code或text): 通常是指用来存放程序执行代码的一块内存区域.这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读. 某些架构也允许代码段为可写,即允许修改程序.在代码 ...
- 七、如何在Java中高效检查一个数组是否含有一个值
如何检查一个数组(非排序的)是否包含特定的值.这是个非常有用或经常被在Java中使用.这是个在Stack Overflow中高得票的问题.在已经高得票的答案中,有许多不同的处理方法,但是时间的复杂度非 ...
- 登陆时不同浏览器获取session存在的相关疑问?
问题1:在同一个电脑上,登陆成功后,将登陆信息存放到session域中后,使用另一个浏览器访问时,能否获取这个session域中的值? request.getSession().setAttribut ...
- centos7搭建python3并和python2共存
注意事项:1.非root帐号加上sudo2.centos7自带Python 2.7.5是不能卸载的,很多系统级软件依赖这个 安装依赖# yum -y groupinstall "Develo ...
- c++之—— lambda表达式(有个未能解决的问题等待大佬解答)——(在stack overflow找到了答案)
谓词: 谓词是一个可调用的表达式,其返回结果是一个能用作条件的值.标准库算法所使用的谓词分为两类:一元谓词,意味着它只接受单一参数:二元谓词,意味着它有两个参数.接受谓词参数的算法对输入序列中的元素调 ...
- ajax的datatype选项的值
jquery ajax方法 1."xml":返回 XML 文档,可用 jQuery 处理. 2."html"::返回纯文本 HTML 信息:包含的 script ...
- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda
---恢复内容开始--- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda 从头开启python的开发环境搭建.安装比较简单, ...
- SQL2005 全文检索超时的解决方案
如果没有 Internet 连接的服务器上运行的 SQL Server 2005 实例中运行全文查询时,您可能会遇到 45 秒钟的延迟 详细的解释请查看http://support.microsoft ...
- HTML——图片自动轮换和手动轮换
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【高可用HA】Apache (2) —— Mac下安装多个Apache Tomcat实例
Mac 下安装多个Apache Tomcat实例 tomcat版本:tomcat-8.0.29 参考来源: Installing Tomcat 7.0.x on OS X 在mac系统安装Apache ...