1、文档是MongoDB中数据的基本单元,类似于关系数据库中的“行”。
2、集合可以看做是没有模式的表。
3、Mongo自带简洁强大的JavaScript shell来操作MongoDB的服务器实例或者数据。
4、每个文档都有一个特殊的键“_id”,它在文档所处的集合中是唯一的。
5、文档定义:(注意是文档不是文件!)多个键值对有序地放置在一起便是文档。
a、文档是有序的:键值对相同,顺序不同的两个文档不同。
b、文档的键只能是字符串。其中'\0'(空字符)不可用、'.'和'$'为保留字符、以‘_’打头的键名是保留的。
c、文档的值(键的值)不仅仅限于字符串(双引号格式),可以是多种类型。
d、MongoDB区分一律区分大小写。
e、MongoDB中不能有重复的键名。
6、集合:一组文档,相当于关系数据库的表。
a、集合是无模式的这就意味着一个集合里面的文档形式可以是多样的。
b、无论是用易用性还是查询效率上考虑,都应该文档类型来将文档划分集合。但是这不是强制的,可以将不同类型的文档放在同一集合中。
c、集合是通过集合名来标识的。集合名是一个符合要求的UTF-8字符串,具体的要求有:集合名不能为空字符串;集合名不能含有'\0'字符(空字符);集合名不能以“system.”开头,因为这是系统保留前缀(例如system.user是用户信息集合,system.namespaces集合是所有用户自定义集合信息的集合);集合名不能包含'$'字符。
7、子集合:子集合用点号(父集合.子集合)来表示,划分子集合只是让组织结构更好一些,除此之外没有任何特殊的地方,例如三个集合aaa、aaa.bbb、aaa.ccc这三个集合是完全相互独立,地位平等,互不隶属的三个集合。
8、数据库:多个集合可以组建成数据库。一个MongoDB服务器实例可以承载多个数据库,这些数据库之间完全独立。数据库名是一个UTF-8字符串,数据库名用于标识数据库。数据库名必须符合如下要求:不能为空;不能含有空格、点号、美元符号、左或右斜杠和空字符;应全部小写;最多64个字符。数据库名会最终变成文件系统里的文件名。有些数据库名是保留的可以直接借助这些数据库名访问系统保留数据库:admin、local、config。
2、集合可以看做是没有模式的表。
3、Mongo自带简洁强大的JavaScript shell来操作MongoDB的服务器实例或者数据。
4、每个文档都有一个特殊的键“_id”,它在文档所处的集合中是唯一的。
5、文档定义:(注意是文档不是文件!)多个键值对有序地放置在一起便是文档。
a、文档是有序的:键值对相同,顺序不同的两个文档不同。
b、文档的键只能是字符串。其中'\0'(空字符)不可用、'.'和'$'为保留字符、以‘_’打头的键名是保留的。
c、文档的值(键的值)不仅仅限于字符串(双引号格式),可以是多种类型。
d、MongoDB区分一律区分大小写。
e、MongoDB中不能有重复的键名。
6、集合:一组文档,相当于关系数据库的表。
a、集合是无模式的这就意味着一个集合里面的文档形式可以是多样的。
b、无论是用易用性还是查询效率上考虑,都应该文档类型来将文档划分集合。但是这不是强制的,可以将不同类型的文档放在同一集合中。
c、集合是通过集合名来标识的。集合名是一个符合要求的UTF-8字符串,具体的要求有:集合名不能为空字符串;集合名不能含有'\0'字符(空字符);集合名不能以“system.”开头,因为这是系统保留前缀(例如system.user是用户信息集合,system.namespaces集合是所有用户自定义集合信息的集合);集合名不能包含'$'字符。
7、子集合:子集合用点号(父集合.子集合)来表示,划分子集合只是让组织结构更好一些,除此之外没有任何特殊的地方,例如三个集合aaa、aaa.bbb、aaa.ccc这三个集合是完全相互独立,地位平等,互不隶属的三个集合。
8、数据库:多个集合可以组建成数据库。一个MongoDB服务器实例可以承载多个数据库,这些数据库之间完全独立。数据库名是一个UTF-8字符串,数据库名用于标识数据库。数据库名必须符合如下要求:不能为空;不能含有空格、点号、美元符号、左或右斜杠和空字符;应全部小写;最多64个字符。数据库名会最终变成文件系统里的文件名。有些数据库名是保留的可以直接借助这些数据库名访问系统保留数据库:admin、local、config。