|
文档
1)文档是MongoDB中数据的基本单元,类似与关系型数据库中的行。
2)集合可以被看做是没有模式的表。
3)MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限。
4)每一个文档都有一个特殊的键“_id”,它在文档所处的集合中是唯一的。
文档是MongoDB的核心概念。多个键及其关联的值有序地放置在一起便是文档。在javascript中文档的表示方法如下:
{"greeting":"Hello,world"},稍微复杂一点的便如:{"greeting":"hello","foo":3}。关于文档我们需要注意:
- 文档中的键/值对是有序的,即:{"foo":3",greeting":"hello"}与{"greeting":"hello","foo":3}是不同的。
- 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型,甚至可以是整个嵌入的文档。
- 文档中的键是字符串,除了少数的情况,键可以使用任意UTF-8字符。
键不能含有\0.这个字符用例表示键的结尾。
.和$有特别的意义,只有在特定环境下才能使用。
以“_”开头的键是保留的。
-
集合
集合就是一组文档,并且集合是无模式的,这意味着一个集合里面的文档可以是格式各样的。但是我们需要注意,虽然我们可以将格式各样的文档放在一个集合中,但是对于后期的维护以及程序开发将变得很艰难。故我们需要将不同的文档放入不同的集合中。同时将同种类型的文档放在一个集合中,数据会更集中。另外,在创建索引的时候,文档会有附件的结构。索引是按照集合来定义的,把同种类型的文档放入同一个集合里面,可以使索引更加有效。
命名
- 集合名不能以"system."开头,这是系统集合的保留前缀。
- 用户创建的集合名字不能含有保留字符"$"
数据库
MongoDB中多个文档组成集合,多个集合构成了数据库。一个MongoDB可以承载多个数据库,他们之间可视为完全独立的。数据库命名注意:
- 全部是小写
- 最多64个字节
另外有一些数据库名是系统保留的:admin(相当于"root"数据库)、local(此数据永远不会被复制,用例存储限于本地单台服务器的任意结合)、config。把数据库的名字放到集合名前面,得到的就是集合的完全限定名,成为命名空间。
|
|
|