mongodb与SQL相应关系表

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(

{ },

{ user_id:1,status:1
}

)


SELECT user_id,status

FROM users


db.users.find(

{ },

{ user_id:1,status:1,_id:0
}

)


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" },

{ user_id:1,status:1,_id:0
}

)


SELECT *

FROM users

WHERE status!="A"


db.users.find(

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

)


SELECT *

FROM users

WHERE status="A"

AND age=50


db.users.find(

{ status:"A",

age:50 }

)


SELECT *

FROM users

WHERE status="A"

OR age=50


db.users.find(

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

{ age:50 } ] }

)


SELECT *

FROM users

WHERE age>25


db.users.find(

{ age: {$gt:25
} }

)


SELECT *

FROM users

WHERE age<25


db.users.find(

{ age: {$lt:25
} }

)


SELECT *

FROM users

WHERE age>25

AND   age<=50


db.users.find(

{ age: {$gt:25,$lte:50
} }

)


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:1 } )


SELECT *

FROM users

WHERE status="A"

ORDER BY user_id DESC


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


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

WHERE age>30


db.users.count( {age: {$gt:30
} } )

or

db.users.find( {age: {$gt:30
} } ).count()


SELECT DISTINCT(status)

FROM users


db.users.distinct("status" )


SELECT *

FROM users

LIMIT 1


db.users.findOne()

or

db.users.find().limit(1)


SELECT *

FROM users

LIMIT 5

SKIP10


db.users.find().limit(5).skip(10)


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",

45,

"A")


db.users.insert(

{user_id:"bcd001",age:45,status:"A"}

)

3. update更新


      SQL Update Statements              


           MongoDB update() Statements


   UPDATE users

  SET  status="C"

  WHERE  age>25


db.users.update(

{ age: {
$gt:25 } },

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

{ multi:true }

)


  UPDATE  users

  SET  age=age+3

  WHERE  status="A"


db.users.update(

{ status:"A" } ,

{ $inc: {
age:3 } },

{ 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

时间: 2024-10-09 05:30:03

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

mongodb与SQL对应关系表

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,

SQL学习之使用命令方式创建、删除与修改关系表

首先,先介绍用命令方式创建.删除和修改关系表, (1).创建表 基本格式:create table 表名 ( 列名 数据类型 列级完整性约束,列名 数据类型 列级完整性约束(如果有多个列,注意要用       英文式的逗号隔开)       ,表级完整性约束(表级完整性约束和列级完整性约束之间也要用逗号分隔开) ) 列级完整性约束有: not null 限制列取值为空 default 指定列的默认值 unique 定义列取值不能重复 check 定义列的取值范围(check是定义的多列之间的取值

自定义ORMapping—关系表转换为实体或实体集合对象

概述 ORMapping,中文翻译过来就是,关系对象的映射,他的作用就是使我们编程时,不用过多的关注持久层,只需要关注对象,关注业务就可以了.ORMapping主要完成两个功能:自动生成SQL语句和DataTable To Objects. 特性和反射 特性是用来描述元数据的,元数据就是源代码编译好后的代码.反射是运行时,获得对象或类的所有信息,通过这些信息,我们可以创建类获得特性信息等等 关系表转换为实体或实体集合对象的实现方式 对于关系表转换为实体或实体集合对象的实现方法可以有多种,这里说一

Python与数据库[2] -&gt; 关系对象映射/ORM -&gt; 利用 sqlalchemy 实现关系表查询功能

利用 sqlalchemy 实现关系表查询功能 下面的例子将完成一个通过关系表进行查询的功能,示例中的数据表均在MySQL中建立,建立过程可以使用 SQL 命令或编写 Python 适配器完成. 示例中用到的表主要有3张,一张personInfo个人信息表,一张account_store账号信息表,以及一张person_account_rel的个人信息与账号关系表. 示例中将会通过已知的人物年龄和id通过个人信息表查出个人姓名(仅为参考示例,请忽略怪异的查找逻辑 :) ),随后根据关系表得到的人

Java学习总结(十六)——MySQL数据库(中)分组,嵌套,连接查询及外键与关系表设计

一.分组查询 1.语法:group by 分组字段1[,分组字段2,.........] [having 分组后的筛选条件]2.注意:分组字段应该与select后的查询字段一致,否则查询结果无意义3.分组查询经常会与聚合函数一起使用例:(1)先建一张商品表(以此表为例进行分组查询) (2)插入记录 (3)查询:#1.计算每一种商品单价的平均价格 查询结果:#2.计算日用品种类的平均价格 查询结果:二.连接查询1.等值连接语法:select 字段1,字段2,........ from 表A,表B,

SQL安装过程中“针对SQL Server 注册表的一致性验证“出错解决方式

1.打开注册表,查找到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\0804],分别打开Counter 和Help 2.打开Counter,把滚动条拉倒最后,然后记下最大的那个值(不同计算机不一样的),记下后关闭窗口 3.同样的打开Help,滚动到最后记最大的那个值(你们的值不一定跟我一样的哦!!!),记下后关闭窗口 4,再重新定位到Perflib的节点上, 5.双击Last Counter然后在

一个sql导致temp表空间爆掉

Buffer sort引发的血案 今天遇到的一个问题,在线系统上,有两张表,test1大概50G,test2大概200G,需要查询出来test1表中部分记录,并且这些记录不存在test2表中.于是就写了一个sql: select t1.* from test1 t1, test2 t2 where t1.col1 = t2.col1(+) and t1.col2 = t2.col2(+) and t1.col3 = t2.col3(+) and t2.col1 is null; 因为是在线系统,

5-04用Sql语句创建表

用Sql语句创建表的基本语法: USE E_Market--指向当前所操作的数据库 GO CREATE TABLE CommoditySort--创建表的名字 { sortID int IDENTITY(1,1) NOT NULL,类别编号 sordName varchar(50) NOT NULL --类别名称 } GO

SQL需求1-两表关联更新操作

今天,业务部门给我来了一个需求.需要将本地的的excel表格导入到SQL Server中,SQL Server原表t1增加了三列字段,默认是NULL无数据.将本地导入的excel表格t2表中这几列数据更新到原表t1中. 现将导入方法记录下来,方便今后使用: 1. 导入Excel表格到SQL Server中.(略) 2. 查看数据内容 3. 更新数据 4. 更新后数据显示结果 由于本人多年维护 MySQL,现将MySQL 的更新方法整理一下: 1.查看数据内容 2.更新数据 3.更新后数据显示结果