一、MongoDB快速入门
RDBMS VS MongoDB
直接给出的表显示RDBMS(关系型数据库管理系统)术语 与 MongoDB 的关系,直观明了:
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据属性/字段(域) |
index | index | 索引 |
table joins | Embedded Documents | 表连接,MongoDB3.2提供了Join操作 |
primary key | primary key | 主键,MongoDB默认自动将_id字段设置为主键,可以手动设置 |
通过下图实例,也可以更直观的的了解Mongo中的一些概念:
二、MongoDB基本操作
Mongo自带shell客户端:
1 | $ mongo |
最基本操作上述可见,补充一些:
- pretty() 方法
结果显示在一个格式化的方式,可以使用 pretty() 方法.
语法:
1 | >db.mycol.find().pretty() |
- MongoDB中AND
语法:
在 find() 方法,如果通过多个键分离’,’,那么 MongoDB 处理 AND 条件。AND 基本语法如下所示:
1 | >db.mycol.find({key1:value1, key2:value2}).pretty() |
- MongoDB中OR
语法:
OR条件的基础上要查询文件,需要使用$or关键字。OR 基本语法如下所示:
1 | >db.mycol.find( |
- MongoDB 与 RDBMS Where 语句比较
操作 | 语法 | 例子 | RDBMS 等同 |
---|---|---|---|
Equality | {< key>:< value>} | db.mycol.find({“by”:”tutorials itcast”}).pretty() | where by = ‘tutorials itcast’ |
Less Than | {< key>:{$lt:< value>}} | db.mycol.find({“likes”:{$lt:50}}).pretty() | where likes < 50 |
Less Than Equals | {< key>:{$lte:< value>}} | db.mycol.find({“likes”:{$lte:50}}).pretty() | where likes <= 50 |
Greater Than | {< key>:{$gt:< value>}} | db.mycol.find({“likes”:{$gt:50}}).pretty() | where likes > 50 |
Greater Than Equals | {< key>:{$gte:< value>}} | db.mycol.find({“likes”:{$gte:50}}).pretty() | where likes >= 50 |
Not Equals | {< key>:{$ne:< value>}} | db.mycol.find({“likes”:{$ne:50}}).pretty() | where likes != 50 |
- 更新操作 在 MongoDB update() 和 SQL 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 } ) |
- 在执行remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯。remove命令一定要三思而后行!!
注:转载文章请注明出处,谢谢~