MongoDB入门原创
MongoDB是什么
特点
- 易于使用,不再采用‘行’概念,转而使用文档模型,更加灵活
- 易于扩展,底层实现了数据库的横向扩展能力,自动处理集群,分配文档。
- 功能丰富,除了基本的CRUD外,提供了索引,聚合功能,以及特殊的集合类型,新的文件存储协议
- 性能卓越,舍弃关系型数据库的事务和连接功能,保证系统的扩展性,尽可能的利用内存做缓存以提高查询速度
核心概念
数据库
- 数据库名不能为空字符串,最大为64字节
- 默认存在的数据库有三个分别是admin,local,config
- admin数据库是‘root’数据库,其保存的用户会拥有数据库的所有权限
- local数据库是本地数据库,其内容不可被复制
- config数据库主要存储分片信息
集合
- 集合名不能以system.开头,且不能包含$
- 集合是动态类型的,可以添加任意类型的值
- 集合也可以添加任意类型的键,由此引申出是否可以将所有文档存储在一个集合中?
- 如果混合各种类型的文档在一个集合中,会导致查询集合时需要对返回的不同类型的文档手动处理
- 查询集合中的特定文档也会影响查询速度
- 因此为了提高查询速度,建议将集合按照类型存储
- mongodb提供了索引功能,可以通过创建集合的模型来生成索引,提高查询速度。
文档
- Mongodb的文档本质就是一个键值对对象
- 文档区分类型,区分大小写。(foo,‘Foo’)(3,‘3’)都是不同的
- 文档的键不能重复,不区分顺序。
数据库连接
- 使用mongod 命令开启数据库服务器
- 使用mongo 打开shell连接数据库 并将数据库实例命名为全局变量db
- 使用db操作数据库