1. select查询


mongodb使用find或者findOne来查询:

find批量查询。

findOne是查询一条记录。

find有两个參数: 第一个查询条件, 第二个查询返回的字段。

以下是mongodb与sql查询的相应关系表:

SQL SELECT Statements                         

MongoDB find() Statements

SELECT *

FROM users

db.users.find()

SELECT id,

user_id,

status

FROM users

db.users.find(

{ },

}

)

SELECT user_id,status

FROM users

db.users.find(

{ },

}

)

SELECT *

FROM users

WHERE status="A"

db.users.find(

{ status:"A" }

)

SELECT user_id,status

FROM users

WHERE status="A"

db.users.find(

{ status:"A" },

}

)

SELECT *

FROM users

WHERE status!="A"

db.users.find(

{ status: {$ne:"A"
} }

)

SELECT *

FROM users

WHERE status="A"

db.users.find(

{ status:"A",

}

)

SELECT *

FROM users

WHERE status="A"

db.users.find(

{ $or: [ {status:"A"
} ,

} ] }

)

SELECT *

FROM users

db.users.find(

} }

)

SELECT *

FROM users

db.users.find(

} }

)

SELECT *

FROM users

db.users.find(

} }

)

SELECT *

FROM users

WHERE user_id like "%bc%"

db.users.find( {user_id:/bc/
} )

SELECT *

FROM users

WHERE user_id like "bc%"

db.users.find( {user_id:/^bc/
} )

SELECT *

FROM users

WHERE status="A"

ORDER BY user_id ASC

db.users.find( {status:"A"
} ).sort( {user_id } )

SELECT *

FROM users

WHERE status="A"

ORDER BY user_id DESC

db.users.find( {status:"A"
} ).sort( {user_id } )

SELECT COUNT(*)

FROM users

db.users.count()

or

db.users.find().count()

SELECT COUNT(user_id)

FROM users

db.users.count( {user_id: {$exists:true
} } )

or

db.users.find( {user_id: {$exists:true
} } ).count()

SELECT COUNT(*)

FROM users


} } )

or


} } ).count()

SELECT DISTINCT(status)

FROM users

db.users.distinct("status" )

SELECT *

FROM users

db.users.findOne()

or

)

SELECT *

FROM users

)

EXPLAIN SELECT  *

FROM users

WHERE status="A"

db.users.find( {status:"A"
} ).explain()

2. insert插入

SQL INSERT Statements                       

   MongoDB insert() Statements

INSERT  INTO  users(user_id,

age,

status)

VALUES  ("bcd001",

,

"A")

db.users.insert(

,status:"A"}

)

3. update更新


      SQL Update Statements              

           MongoDB update() Statements

   UPDATE users

  SET  status="C"

db.users.update(

{ age: {
$gt } },

{ $set: {
status:"C" } },

{ multi:true }

)

  UPDATE  users

  WHERE  status="A"

db.users.update(

{ status:"A" } ,

{ $inc: {
age } },

{ multi:true }

)

4. delete 删除

  SQL Delete Statements                  

  MongoDB remove() Statements

  DELETE  FROM  users

  WHERE  status="D"

  db.users.remove( {
status:"D" } )

  DELETE  FROM  users

   db.users.remove({})

地址:http://blog.csdn.net/yonggang7/article/details/26067059


mongodb与SQL相应关系表的更多相关文章

  1. mongodb与SQL对应关系表

    1. select查询 mongodb使用find要么findOne要查询: find批量查询. findOne查询记录. find有两个参数: 查询条件. 第二个查询返回的字段. 以下是mongod ...

  2. EF架构~关系表插入应该写在事务里,但不应该是分布式事务

    回到目录 这个标题很有意思,关系表插入,就是说主表和外表键在插入时,可能会有同步插的情况,如在建立主表时,扩展表需要同步完成数据的初始化工作,而对于多表插入时,我们为了保证数据的一致性会针它写在事务中 ...

  3. SQL Server 系统表简介

    SQL Server 系统表简介 系统目录是由描述SQL Server 系统的数据库.基表.视图和索引等对象的结构的系统表组成.SQL Server 经常访问系统目录,检索系统正常运行所需的必要信息. ...

  4. 基于.net mvc的校友录(七、文件上传以及多对多关系表的LINQ查询实现)

    图片的上传与调用 图片的上传就是文件的上传,在前台使用的是type="file"的input,但是,要将表单声明为multipart/form-data模式,方法是在BeginFo ...

  5. 【MongoDB】MongoDB VS SQL数据库

    MongoDB和SQL数据库都能满足数据库的基本功能:1.有组织的存放数据:2.按照需求查询数据 传统的SQL数据库(e.g.Oracle, MySQL) 对表的运用不够灵活,横向扩展不太容易,而它的 ...

  6. 章节2:SQL之多表连接

    原文:章节2:SQL之多表连接 Sql的多表连接关系有:内连接.外连接和交叉连接. 先建立两个用于演示的表: TB_Characters: Id Character 1 内向 2 外向 3 中性性格 ...

  7. EF Core 2.0 已经支持自动生成父子关系表的实体

    现在我们在SQL Server数据库中有Person表如下: CREATE TABLE [dbo].[Person]( ,) NOT NULL, ) NULL, ) NULL, ) NULL, [Cr ...

  8. Python与数据库[2] -> 关系对象映射/ORM[5] -> 利用 sqlalchemy 实现关系表查询功能

    利用 sqlalchemy 实现关系表查询功能 下面的例子将完成一个通过关系表进行查询的功能,示例中的数据表均在MySQL中建立,建立过程可以使用 SQL 命令或编写 Python 适配器完成. 示例 ...

  9. 用SQL数据库做多表关联应怎样设计库结构20170527

    http://77857.blog.51cto.com/67857/143872/ 多表关联的话表之间必须得存在关系才行呢,这样建立外键约束就行了, 关系表中插入主表的主键做外键. 假设表1学生表st ...

随机推荐

  1. 2.IntelliJ IDEA 2017创建JavaEE项目

    转自:https://blog.csdn.net/qq_31628285/article/details/75139909?utm_source=blogxgwz0 IntelliJ IDEA 201 ...

  2. BZOJ 1927 最小费用流问题

    From lydrainbowcat //By SiriusRen #include <queue> #include <cstdio> #include <cstrin ...

  3. 使用ShareSDK分享-图片的链接

    微信中使用ShareSDK分享,需要申请微信开放平台账号,并且以微信中的声明的应用签名打包程序. private void showShare(String url, String title, St ...

  4. PostgreSQL Replication之第八章 与pgbouncer一起工作(1)

    当您在使用大规模的设施工作,可能有时候,您必须处理许多并发打开的连接.没有人会使用十台服务器来为两个并发用户提供服务--在许多情况下,这根本没有意义.大量的设施通常会处理成百上千的并发连接.引入连接池 ...

  5. NodeJS学习笔记 进阶 (9)express+cookie-parser:签名机制深入剖析(ok)

    个人总结:这篇文章讲解了express框架种cookie的使用,需要引用cookie-parser这个包.读完这篇文章需要10分钟. 摘选自网络 文章导读 cookie-parser是Express的 ...

  6. 二叉查找树BST 模板

    二叉查找树BST 就是二叉搜索树 二叉排序树. 就是满足 左儿子<父节点<右儿子 的一颗树,插入和查询复杂度最好情况都是logN的,写起来很简单.   根据BST的性质可以很好的解决这些东 ...

  7. [转载]-win7启动本地MongoDB的四种方式

    2016年04月07日 09:52:34 cherry__cheng 阅读数:19451 标签: win7启动本地MongoDB的四种方式快速启动本地mongodb 更多 个人分类: mongodb& ...

  8. 基于vue的无缝滚动组件

    vue-seamless-scroll A simple, Seamless scrolling for Vue.js 在awesome上一直没有发现vue的无缝滚动组件,在工作之余写了个组件,分享出 ...

  9. Qt 在圆形中贴图片

    void Widget::paintEvent(QPaintEvent *) { QPainter p(this); QPixmap pix(":/images/a.jpg"); ...

  10. codevs——T2806 红与黑

    http://codevs.cn/problem/2806/  时间限制: 1 s  空间限制: 64000 KB  题目等级 : 白银 Silver 题解       题目描述 Descriptio ...