美文网首页
2. MongoDB 基础知识

2. MongoDB 基础知识

作者: yi_zhe | 来源:发表于2016-12-09 08:19 被阅读0次

MongoDB的几个基本概念

文档(document)

文档是键值对的有序集合, 它是MongoDB中数据的基本单元
在不同的编程语言中有相应的实现, 如Java的Map, Python的
Dictionary.

JavaScript中表示文档是这样表现的:
{"hello":"world"}
这个文档中有一个键"hello", 它对应的值是"hello".

文档中可以有多个键值对, 如
{"hello":"world", "num":3}

文档的值可以是多种不同的类型, 甚至是另一个文档, 如
{"hello":"world", "doc":{"a":3, "b":4}}

MongoDB不仅区分值的类型, 而且区分大小写, 下面两个文档是不同的
{"foo":3}
{"Foo":"3"}

MongoDB中文档的键值对是有序的, 下面两个文档是不同的
{"x":1,"y":2}
{"y":2,"x":1}

文档的键的命名规则:

  • 不能包含\0(空字符), 空字符用于表示键的结尾.
  • .和$具有特殊意义, 只能在特定环境下使用.
  • MongoDB不允许文档中出现重复的键.

集合(collections)

集合就是一组文档, 如果将文档比作关系数据库的行, 那么集合就相当于一张表.

MongoDB里的集合是动态模式的, 这意味着, 集合里的文档可以是各式各样的, 不必遵循同样的模式.

尽管如此, 我们仍需要将不同类型的文档分别存储到不同的集合中, 原因如下

  • 不利于检索数据
  • 影响应用性能
  • 无法有效的创建索引

集合的命名规则

  • 不能是空字符串
  • 不能包含\0
  • 不要以"system."开头, 这是系统集合保留的前缀
  • 不要在集合名中包含$

数据库

在MongoDB中多个文档组成集合, 多个集合可以组成数据库.
每一个MongoDB的实例可以管理多个数据库.

数据库的命名规则

  • 不能是空字符串
  • 不能含有/."*<>:|?$和\0, 基本只能使用ASCII字母和数字
  • 数据库名字区分大小写
  • 数据库名最多64字节

因为归根结底, 这些数据库最终会落地为磁盘上的文件, 所以它命名的限制和文件命名的限制很相似.

  • 最后有些系统保留的数据库名不能使用, 如admin, local, config等

MongoDB的安装请参考这里

相关文章

网友评论

      本文标题:2. MongoDB 基础知识

      本文链接:https://www.haomeiwen.com/subject/dwlemttx.html