在这里我们先来了解一下MongoDB的概念:
在MongoDB中基本的概念是文档(document),集合(collection),数据库(database),这几个关键字记好了,我们在下面的文章中会经常用到。
数据库(database):
在一个MongoDB中可以建立多个数据库。
MongoDB的默认数据库为“db”,该数据库存储在data目录中。
MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中
文档(document):
文档是一组键值对也就是BSON
什么是BSON数据?
BSON与JSON一样,BSON支持其他文档和数组中嵌入文档和数组。BSON还包含允许表示不属于JSON规范的数据类型的扩展。例如BSON具有Date类型和BinData类型。
BSON可以与二进制交换格式,如协议缓冲器。BSON比协议缓冲器更“schema-less”,这可以使其在灵活性方面具有优势,但在空间效率方面也略有不利(BSON在序列化数据中具有字段名称的开销)
BSON具有一下三个特征:
1.轻量级
将空间开销保持在最低限度对于任何数据表示格式都很重要,尤其是在通过网络使用时
2.Traversable
BSON可以轻松遍历,这是其作为主要的数据表示角色的重要属性的MongoDB
3.高效
由于使用C数据类型,在大多数语言中可以非常快速地将数据编码到BSON并从BSON解码
::::从MongoDB中官网中看到的解释
MongoDB的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,
还有几个要注意的点是
1,文档中的键值对是有序的
2,文档中的值(value)可以是字符串,也可以是其他的数据类型,而且mongoDB可以区分大小写
3,一个mongoDB的文档不能有重读的键
以上字段具有以下数据类型:
id:拥有一个Objectid
name:包含一个包含字段和嵌入式文档。first和last
birth和death 拥有Date类型的值
contribs拥有一个数组字符串
views拥有一个Long类型的数据
这样看就直观多了
Collection:
概念:
collection是固定大小的集合,支持基于插入顺序和检索文档得到高吞吐量操作。collection集合以类似于循环缓冲区的方式工作:一旦集合填充其分配的空间,他通过覆盖集合中最旧的文档为新文档腾出空间。
为了给新文档腾出空间,collection会自动删除集合中最旧的文档,无需脚本或显示删除操作
一下是针对collection的注意事项:
1.存储由大容量系统生成的日志信息。在没有索引的情况下将文档插入到collection中,这与将日志信息直接写入文件系统的速度接近。此外,内置的先进先出属性维护数据顺序,同时管理存储使用
2.在collection中缓存少量数据。由于缓存是读取而不是重写,因此您需要确保此collection始终保留在工作集中,或接受对所需索引
FieldName(字段名称):
Field Names是字符串,文档(document)FieldNames有以下的限制:
1.字段名称_id保留用作主键;它的值在集合中必须是唯一的,是不可变的,并且可以是除数组之外的任何类型
2.字段名称不能包含null字符
3.顶级字段名称不能以美元符号($)字符开头