1.MongoDB简介
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
2.MongoDB 概念解析
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
table joins | 表连接,MongoDB不支持 | |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
3.优势
MongoDB比RDBMS(关系型数据库管理系统)的优势
1) 架构:MongoDB是文档型数据库,其中一个集合保存不同的不同的文件。字段的数量,内容和该文件的大小可以是不同于从一个文件复制到另一个。
2) 一个单一的对象,结构相对清晰
3) 没有复杂的连接
4) 深查询能力。 MongoDB支持动态查询使用基于文档的查询语言,如SQL几乎一样强大的文件
5) 调优
6) 易于规模化:MongoDB是易于扩展
7) 不需要数据库对象的应用程序对象转换/映射
8) 使用内部存储器存储(窗口)工作组,从而实现更快的数据存取
为什么使用MongoDB
1) JSON风格文件的形式,面向文档存储:数据存储
2) 对任何属性可索引
3) 复制和高可用性
4) 自动分片
5) 丰富的查询
6) 快速就地更新
7) MongoDB的专业技术支持
2) 对任何属性可索引
3) 复制和高可用性
4) 自动分片
5) 丰富的查询
6) 快速就地更新
7) MongoDB的专业技术支持
应该在哪里使用MongoDB?
1) 大数据
2) 内容管理和交付
3) 移动和社交基础设施
4) 用户数据管理
5) 数据平台
2) 内容管理和交付
3) 移动和社交基础设施
4) 用户数据管理
5) 数据平台
4.基本操作
创建和删除数据库
use DATABASE_NAME
MongoDB use DATABASE_NAME 用于创建数据库。该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库。
db.dropDatabase()这将删除选定的数据库。如果还没有选择任何数据库,然后它会删除默认的 ' test' 数据库
创建和删除集合
db.createCollection(name, options)
db.COLLECTION_NAME.drop()
插入,查询,更新和删除文档
>db.COLLECTION_NAME.insert(document)
>db.COLLECTION_NAME.find()
>db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA)
>db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)