MongoDB 数据模型

MongoDB文档

文档是Mongodb最核心的概念,本质上是一种类JSONBSON格式的数据

BSON是一种类JSON的二进制格式数据,它可以理解为在JSON基础上添加了一些新的数据类型,包括日期、int32int64

MongoDB中写操作的原子性限制在文档级别,对文档的保存、修改、删除等都是原子操作

单个文档占用的存储空间不能超过16MB

Mongodb会尽量保持文档被插入时键值对的顺序

关于文档键的命名需要注意以下几点:

_id是系统保留的关键字,它是默认的主键,该值在集合中必须唯一,且不可更改

键不能包含\0或空字符,这个字符用于表示键的结尾

不能以$开头

不能包含.(点号)

键是区分大小写且不能重复 例如:{foo:1,Foo:1}

MongoDB文档与集合-集合

把一组相关的文档放到一起组成了集合,如果将MongoDB的一个文档比喻为关系型数据库的一行,那么一个集合就相当于一张表

MongoDB的集合是模式自由的,一个集合里面的文档可以是各式各样。

例如:下面的两个文档可以出现了同一个集合中。

{“name”:”joe”}

{“name”:”jack”,”sex”:”male”}

MongoDB提供了一些特殊功能的集合,例如:capped collctionsystem.indexsystem.namespaces

关于集合的命名需要注意以下几点:

集合名不能是空字符串(””

集合名不能包含有\0字符(空字符),该字符表示集合名的结尾

集合名不能以”system.”开头,以前缀是系统本身保留的

集合名中不能包含$字符(注:可包含.

MongoDB文档与集合-数据库

多个文档组成集合,而多个集合组成了数据库。一个MonggoDB实例可以承载多个数据库,每个数据库都有独立的权限,在磁盘上,不同的数据库也可放置在不同的文件夹中(启动时加directoryperdb选项)

为了更好的组织数据,一般情况下,会把属于同一个应用程序(或同一种业务类型)的所有数据放到一个数据库中

 

关于数据库的命名需要注意以下几点:

不能是空字符串(””

不能以$开头

不能包含.(点号)和空字符串

数据库名字区分大小写(建议数据库名全部使用小写)

数据库名长度最对为64个字节

不要与系统保留的数据库名字相同,这些数据库包括:adminlocal,config

MongoDB文档与集合-命名空间

把数据库名添加到集合名字前面,中间用点号连接,得到集合的完全限定名,就是命名空间,例如:命名空间jike.blog

需要说明的是,点号还可以出现在集合名字中,例如:jike.blog.postsjike.blog.authors,可以将postsauthors集合看作是blog集合的集合

使用子集合可以使我们更好的组织数据,使数据的结构更加清晰明了。

集合的命名长度不能超过100字节

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值