mongodb 基本的概念-数据库集合文档
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb 基本的概念-数据库集合文档相关的知识,希望对你有一定的参考价值。
mongodb中基本的概念是数据库、集合、文档。
下表将帮助您更容易理解Mongo中的一些概念:
SQL术语/概念 | 解释/说明 | MongoDB术语/概念 | 解释/说明 |
---|---|---|---|
database | 数据库 | database | 数据库 |
table | 表 | collection | 集合 |
row | 记录行 | document | 文档 |
column | 字段 | field | 域 |
index | 索引 | index | 索引 |
table joins | 表连接 | ||
primary key | 主键 | primary key | 主键,MongoDB自动将_id字段设置为主键 |
数据库
在mongodb中的数据库的概念与关系型的数据库中的数据库的概念基本相同。在mongodb中的数据库是多个集合的组合。同样一个mongodb中可以建立多个数据库,这些数据库也是相互独立的,也可以独立进行用户验证。
mongodb的保留数据库:admin、local、config
admin数据库,是一个root数据库,在这个数据库中添加用户,该用户将继承所有的数据库的权限。
local数据库,这个数据库不会被复制,只存储本地服务器才能访问的数据库。
config数据库用于保存分片的相关信息。
集合
集合就是一组文档的组合。如果将文档类比成数据库中的行,那么集合就可以类比成数据库的表。
集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。
比如,我们可以将以下不同数据结构的文档插入到集合中:
{"site":"www.baidu.com"} //当第一个文档插入时,集合就会被创建。
{"site":"www.google.com","name":"Google"}
{"site":"www.runoob.com","name":"教程","num":5}
合法的集合名
集合名不能是空字符串""。
集合名不能含有\0字符(空字符),这个字符表示集合名的结尾。
集合名不能以"system."开头,这是为系统集合保留的前缀。
用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。除非你要访问这种系统创建的集合,否则千万不要在名字里出现$。
文档
文档是一个键值(key-value)对(即BSON)。MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。
需要注意的是:
文档中的键/值对是有序的。
文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
MongoDB区分类型和大小写。
MongoDB的文档不能有重复的键。
文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。
文档键命名规范:
键不能含有\0 (空字符)。这个字符用来表示键的结尾。
.和$有特别的意义,只有在特定环境下才能使用。
以下划线"_"开头的键是保留的(不是严格要求的)。
附:MongoDB 数据类型
下表为MongoDB中常用的几种数据类型。
数据类型 | 描述 |
---|---|
String | 字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。 |
Integer | 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。 |
Boolean | 布尔值。用于存储布尔值(真/假)。 |
Double | 双精度浮点值。用于存储浮点值。 |
Min/Max keys | 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。 |
Arrays | 用于将数组或列表或多个值存储为一个键。 |
Timestamp | 时间戳。记录文档修改或添加的具体时间。 |
Object | 用于内嵌文档。 |
Null | 用于创建空值。 |
Symbol | 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。 |
Date | 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。 |
Object ID | 对象 ID。用于创建文档的 ID。 |
Binary Data | 二进制数据。用于存储二进制数据。 |
Code | 代码类型。用于在文档中存储 javascript 代码。 |
Regular expression | 正则 |
以上是关于mongodb 基本的概念-数据库集合文档的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB数据库1,MongoDB的基本概念与基本数据类型