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. visual studio code(vscode)的使用(快捷键)

    Visual Studio Code初探 vscode 是一种可运行于 OS X,Windows 和 Linux 之上的免费跨平台编辑器: 1. 快捷键 ctrl + `:调出(对于 windows ...

  2. 4.STL六大组件

    代码示例 #include <vector> #include <list> #include <iostream> #include <algorithm& ...

  3. java 类和对象2

    编写Java应用程序.首先,定义一个时钟类——Clock,它包括三个int型成员变量分别表示时.分.秒,一个构造方法用于对三个成员变量(时.分.秒) 进行初始化,还有一个成员方法show()用于显示时 ...

  4. FragmentPagerAdapter和FragmentStatePagerAdapter的区别

    FragmentPagerAdapter 1:简单的介绍: 该类内的每一个生成的 Fragment 都将保存在内存之中,因此适用于那些相对静态的页,数量也比较少的那种:如果需要处理有很多页,并且数据动 ...

  5. 关于概率算法的问题,不知道逻辑错在哪里,求debug

    做个骰子成功几率的分析,投n颗骰子,第一次投成功的几率是a,然后投成功的骰子,需要再投1次,这次成功的几率是b.第二次成功的骰子才算最终成功. 要分析出n颗骰子,最终成功0到n颗的概率. 我写了个算法 ...

  6. PostgreSQL Replication之第七章 理解Linux高可用(1)

    高可用(HA)是工业长期持续的,不间断的服务.在本章,您将了解高可用软件的历史,概念和实现与PostgreSQL复制和高可用之间的关系. 本章将详细地讲述如下主题: •理解高可用性的目的 •衡量可用性 ...

  7. Android chromium 1

    For Developers‎ > ‎Design Documents‎ > ‎ Java Resources on Android Overview Chrome for Android ...

  8. tf.cast(ndarray,dtype)

    转化为指定的类型,一般是将bool类型转化为其他的数据类型,例如:tf.float32

  9. BZOJ5017 炸弹(线段树优化建图+Tarjan+拓扑)

    Description 在一条直线上有 N 个炸弹,每个炸弹的坐标是 Xi,爆炸半径是 Ri,当一个炸弹爆炸时,如果另一个炸弹所在位置 Xj 满足:  Xi−Ri≤Xj≤Xi+Ri,那么,该炸弹也会被 ...

  10. CF981C(菊花图)

    题目描述 RAMESS知道很多关于树的问题(无循环的无向连通图)! 他创建了一个新的有用的树的划分,但他不知道如何构造它,所以他请求你的帮助! 划分是从树上的边中分裂出一些简单的路径,使得每个两条路径 ...