zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MongoDB文档和集合

2023-03-14 10:24:55 时间

1、文档是MongoDB最核心的概念,本质上是一种类JOSN的BSON格式的数据。
BSON是一种类JSON的二进制格式数据,它可以理解为在JSON基础上添加了一些新的数据类型,包括日期、int32、int64等。
BSON是由一组组键值对组成,它具有轻量性、可遍历性和高效性三个特征。可遍历性是MongoDB将BSON作为数据存储的主要原因。

{ 
  field1:value1, 
  field2:value2, 
  field3:value3, 
  field4:value4, 
 } 

2、使用MongoDB文档时需要注意:
MongoDB中写操作的原子性限制在文档级别,对文档的保存、修改、删除等都是原子操作。
单个文档占用的存储空间不能超过16MB
MongoDB会尽量保持文档被插入时键值对的顺序。
3、文档键的命名需要注意:
_id是系统保留的关键字,他是默认的主键,该值在集合中必须唯一,且不可更改。
键不能包含\0或空字符,这个字符用于表示键的结尾。
不能用$开头。
不能包含.(点号)。
键是区分大小写的且不能重复的
4、集合
把一组相关的文档放在一起组成了集合,如果将MongoDB的一个文档比喻成关系型数据库中的一行,那么一个集合就相当于一张表。
MongoDB的集合是模式自由的,一个集合里的文档可以是各式各样的。
5、集合命名需要注意:
集合名不能是空字符串
集合名不能含有\0字符(空字符),该字符表示集合名的结尾。
集合名不能以"system."开头,此前缀是系统本身保留的。
集合名中不能包含$字符(注:可包含.
6、数据库
多个文档组成集合,多个集合组成数据库。一个MongoDB实例可以承载多个数据库,每个数据库都有独立的权限,在磁盘上,不同数据库也可放置在不同的文件夹中(启动时加directoryperdb选项)。
7、数据库命名注意:
不能是空字符串
不能以$开头
不能包含.(点号)和空字符串
数据库名字区分大小写(建议数据库名全部使用小写)
数据库名长度最多64字节
不能与系统保留的数据库名字相同,比如:admin\local\config
8、命名空间
把数据库名添加到集合名字前面,中间用点号连接,得到集合的完全限定名,就是命名空间,例如:jk.blog
需要说明的是点号可以出现在集合名字中,例如:jk.blog.posts、jk.blog.authors,可以将posts和authors集合看作是blog集合的子集合。
使用子集合可以使我们更好的组织数据,使数据的结构更加清晰明了。