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. Session原理、安全以及最基本的Express和Redis实现

    Session原理.安全以及最基本的Express和Redis实现 https://segmentfault.com/a/1190000002630691

  2. rest_framework 分页三种

    .分页 a. 分页 看第n页 每页显示n条数据: b. 分页 在某个位置 向后查看多少条数据 c. 加密分页 上一页和下一页 本质:查看 记住页码id的最大值和最小值 通过其来准确扫描 过去的话 会从 ...

  3. 25.不改变原生数据的STL algorithm

    通过仿函数for_each操作 vector<,,,, }; list<double> db{ 1.1,2.2,3.3,4.4,5.5 }; //循环算法,算法的泛型 print p ...

  4. CentOS7下安装二进制MYSQL8

    早看到MySQL8发布, 性能相比MySQL7提升2倍,今天准备安装下试试看 1.先卸载当前系统中已安装的mariadb rpm -qa | grep mariadb rpm -e mysql*/ma ...

  5. ubuntu12.04

    最近越来越觉得必须用Linux了,于是装了15.04,好不习惯的感觉,思维还是10.10的时代. 尝试做种http://jingyan.baidu.com/article/a681b0dedad55c ...

  6. 51Nod 不重叠的线段(贪心)

    X轴上有N条线段,每条线段有1个起点S和终点E.最多能够选出多少条互不重叠的线段.(注:起点或终点重叠,不算重叠). 例如:[1 5][2 3][3 6],可以选[2 3][3 6],这2条线段互不重 ...

  7. 阿里云slb上传证书错误

    阿里云上传证书错误 今天在阿里云给slb上传新买的证书,传的过程中报错了,如下: 网上找了半天没找到,鼠标放在错误哪行行首,会报一个错 大意就是一行最多64个字符,我检查了下,报错这行是68个字符,于 ...

  8. HDU-2045 不容易系列之(3)—— LELE的RPG难题 找规律&递推

    题目链接:https://cn.vjudge.net/problem/HDU-2045 找规律 代码 #include <cstdio> long long num[51][2]; int ...

  9. caioj 1067动态规划入门(一维一边推5: 乘积最大(高精度版))

    因为这里涉及到乘号的个数,那么我们可以用f[i][j]表示前i个位乘号为j个时的最大乘积 那么相比上一题就是多了一层枚举多少个乘号的循环,可以得出 f[i][r] = max(f[j - 1][r - ...

  10. Java基础学习总结(26)——JNDI入门简介

    JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有 ...