1、易扩展性
MongoDB使用分片技术对数据进行扩展,MongoDB能自动分片、自动转移分片里面的数据块,去掉了关系型数据库的关系型特性,数据之间没有关系。
2、网站数据具有高性能
Mongo非常适合实时的插入,保留了关系型数据库即时查询的能力,并具备网站实时数据存储所需的复制及高度伸缩性。
3、具有高伸缩性的场景
Mongo非常适合由数十或数百台服务器组成的数据库,Mongo的路线图中已经包含对MapReduce引擎的内置支持。
4、存储动态性
相较于传统的数据库当要增加一个属性值的时候要对表大动,mongodb的面向文档的形式可以使其属性值轻意的增加和删除。而原来 的关系型数据库要实现这个需要有很多的属性表来支持。
5、速度与持久性
MongoDB通过驱动调用写入时,可以立即得到返回得到成功的结果(即使是报错),这样让写入的速度更加快,当然会有一定的不安全性,完全依赖网络。
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
table joins |
| 表连接,MongoDB不支持 |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
通过下图实例,我们也可以更直观的了解Mongo中的一些概念:
MongoDB命令
创建数据库 | use DATABASE_NAME |
|
删除数据库 | db.dropDatabase() |
|
创建集合 | db.createCollection(name,options) |
|
删除集合 | db.collection.drop() |
|
插入文档 | db.COLLECTION_NAME.insert(document)/ |
|
更新文档 | db.collection.update( |
|
删除文档 | db.collection.remove( |
|
查询文档 | db.collection.find(query, projection) |
|