95992828九五至尊2

概念解析

二月 26th, 2019  |  882828九五至尊手机版

正文转自:http://www.runoob.com/mongodb/mongodb-databases-documents-collections.html

甭管大家上学怎样数据库都应当学习当中的基本功概念,在mongodb中着力的概念是文书档案、集合、数据库,下边大家逐一介绍。

 

下表将救助您更便于精通Mongo中的部分定义:

不论是大家上学怎样数据库都应有学习个中的根基概念,在mongodb中基本的概念是文书档案、集合、数据库,上面我们挨个介绍。

SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins   表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

下表将协理您更便于精通Mongo中的有的定义:

经过下图实例,大家也足以更直观的的领会Mongo中的一对定义:

SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins   表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

882828九五至尊手机版 1

由此下图实例,我们也可以更直观的的摸底Mongo中的片段概念:


882828九五至尊手机版 2

数据库

1个mongodb中得以建立五个数据库。

MongoDB的私下认可数据库为”db”,该数据仓库储存款和储蓄在data目录中。

MongoDB的单个实例能够容纳八个独立的数据库,每一个都有协调的联谊和权杖,分裂的数据库也放置在分裂的文件中。

“show dbs” 命令能够显示全部数据的列表。

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> show dbs
local  0.078GB
test   0.078GB
>

执行 “db” 命令能够显妥善前数据库对象或集合。

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> db
test
>

运作”use”命令,能够接连到多个钦命的数据库。

> use local
switched to db local
> db
local
>

上述实例命令中,”local” 是你要链接的数据库。

在下二个章节大家将详细讲解MongoDB中命令的接纳。

数据库也透过名字来标识。数据库名能够是知足以下原则的任意UTF-8字符串。

  • 无法是空字符串(””)。
  • 不足含有’ ‘(空格)、.、$、/、\和\0 (空宇符)。
  • 应总体大写。
  • 最多64字节。

有局部数据库名是保留的,能够直接待上访问这么些有特殊效能的数据库。

  • admin
    从权力的角度来看,那是”root”数据库。若是将1个用户增进到这些数据库,这些用户自行延续全数数据库的权杖。一些特定的劳动器端命令也只可以从这些数据库运转,比如列出全部的数据库或然关闭服务器。
  • local: 那么些数目永远不会被复制,能够用来储存限于本地单台服务器的即兴集合
  • config:
    当Mongo用于分片设置时,config数据库在里面采用,用于保存分片的相干音信。


文档

文书档案是三个键值(key-value)对(即BSON)。MongoDB
的文书档案不需求安装同样的字段,并且相同的字段不要求平等的数据类型,这与关系型数据库有非常的大的分别,也是
MongoDB 卓殊优良的特征。

一个简易的文书档案例子如下:

{"site":"www.aaaaa.com", "name":"MongoDB教程"}

下表列出了 安德拉DBMS 与 MongoDB 对应的术语:

RDBMS

MongoDB

数据库

数据库

表格

集合

文档

字段

表联合

置于文档

主键

主键 (MongoDB 提供了 key 为 _id )

数据库服务和客户端

Mysqld/Oracle

mongod

mysql/sqlplus

mongo

亟需专注的是:

  1. 文书档案中的键/值对是逐步的。
  2. 文书档案中的值不仅能够是在双引号里面的字符串,还足以是其他两种数据类型(甚至能够是漫天嵌入的文书档案)。
  3. MongoDB区分类型和大小写。
  4. MongoDB的文档无法有重复的键。
  5. 文书档案的键是字符串。除了少数例外境况,键可以利用任意UTF-8字符。

文书档案键命名规范:

  • 键不能含有\0 (空字符)。那个字符用来表示键的末尾。
  • .和$有越发的意思,唯有在一定条件下才能应用。
  • 以下划线”_”起先的键是保留的(不是严峻供给的)。

数据库

三个mongodb中得以建立多个数据库。

MongoDB的私下认可数据库为”db”,该数据仓库储存款和储蓄在data目录中。

MongoDB的单个实例能够容纳七个独立的数据库,每二个都有友好的汇集和权力,不一样的数据库也放置在差异的公文中。

“show dbs” 命令能够显得全数数据的列表。

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> show dbs
local  0.078GB
test   0.078GB
>

执行 “db” 命令能够显示当前数据库对象或集合。

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> db
test
>

运行”use”命令,能够接连不断到三个钦命的数据库。

> use local
switched to db local
> db
local
>

以上实例命令中,”local” 是你要链接的数据库。

在下2个章节我们将详细讲解MongoDB中命令的利用。

数据库也通过名字来标识。数据库名能够是知足以下条件的任意UTF-8字符串。

  • 不能够是空字符串(””)。
  • 不行含有’ ‘(空格)、.、$、/、\和\0 (空宇符)。
  • 应总体大写。
  • 最多64字节。

有一些数据库名是保留的,能够一贯访问这个有特殊效能的数据库。

  • admin
    从权力的角度来看,那是”root”数据库。倘使将多少个用户增加到那些数据库,这么些用户自动一而再全体数据库的权杖。一些一定的劳务器端命令也不得不从那一个数据库运营,比如列出全数的数据库大概关闭服务器。
  • local:
    这么些数量永远不会被复制,能够用来存款和储蓄限于本地单台服务器的自由集合
  • config:
    当Mongo用于分片设置时,config数据库在当中选用,用于保存分片的连带音讯。

集合

集结便是 MongoDB 文书档案组,类似于 兰德酷路泽DBMS (关全面据库管理体系:Relational
Database Management System)中的表格。

会晤存在于数据库中,集合没有永恒的布局,那代表你在对聚集能够插入不一样格式和花色的多寡,但常常状态下大家插入集合的数据都会有必然的关联性。

 

譬如,大家能够将以下两样数据结构的文书档案插入到集结中:

{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.runoob.com","name":"MongoDB教程","num":5}

当第3个文书档案插入时,集合就会被创建。

文档

文书档案是一组键值(key-value)对(即BSON)。MongoDB
的文书档案不须求设置同一的字段,并且相同的字段不供给一致的数据类型,那与关系型数据库有非常的大的差异,也是
MongoDB 卓殊卓绝的特点。

贰个不难易行的文书档案例子如下:

{"site":"www.runoob.com", "name":"菜鸟教程"}

下表列出了 库罗德DBMS 与 MongoDB 对应的术语:

RDBMS

MongoDB

数据库

数据库

表格

集合

文档

字段

表联合

置于文书档案

主键

主键 (MongoDB 提供了 key  为 _id )

数据库服务和客户端

Mysqld/Oracle

mongod

mysql/sqlplus

mongo

急需留意的是:

  1. 文书档案中的键/值对是板上钉钉的。
  2. 文档中的值不仅能够是在双引号里面包车型地铁字符串,还足以是其余两种数据类型(甚至能够是漫天嵌入的文书档案)。
  3. MongoDB区分类型和大小写。
  4. MongoDB的文书档案无法有双重的键。
  5. 文书档案的键是字符串。除了少数例外情形,键能够使用任意UTF-8字符。

文书档案键命名规范:

  • 键无法含有\0 (空字符)。那一个字符用来表示键的终极。
  • .和$有尤其的意思,只有在一定条件下才能利用。
  • 以下划线”_”起先的键是保留的(不是严刻必要的)。

法定的集合名

  • 集合名不能够是空字符串””。
  • 集合名不能够含有\0字符(空字符),那一个字符表示集合名的末梢。
  • 集合名不可能以”system.”开头,那是为系统集合保留的前缀。
  • 用户制造的联谊名字不能含有保留字符。有些驱动程序的确补助在集合名里面富含,那是因为某个系统生成的成团中蕴藏该字符。除非你要访问那种系统创立的集合,不然千万不要在名字里涌出$。 

如下实例:

db.col.findOne()

集合

集聚正是 MongoDB 文书档案组,类似于 福睿斯DBMS (关周全据库管理种类:Relational
Database Management System)中的表格。

聚拢存在于数据库中,集合没有确定地点的布局,那象征你在对聚集能够插入不相同格式和档次的数据,但一般状态下大家插入集合的数量都会有必然的关联性。

 

譬如说,我们可以将以下两样数据结构的文书档案插入到集结中:

{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.runoob.com","name":"菜鸟教程","num":5}

当第多少个文书档案插入时,集合就会被创立。

capped collections

Capped collections 正是平素大小的collection。

它有很高的属性以及队列过期的特点(过期依据插入的依次). 有点和 “宝马X3SportageD”
概念类似。

Capped
collections是高品质自动的保卫安全对象的插入顺序。它十一分适合类似记录日志的功力
和行业内部的collection不一致,你不可能不要显式的创造贰个capped collection,
钦点一个collection的尺寸,单位是字节。collection的多少存款和储蓄空间值提前分配的。

 

要留心的是点名的贮存大小包罗了数据库的头新闻。

 

db.createCollection("mycoll", {capped:true, size:100000})
  • 在capped collection中,你能添加新的目的。
  • 能实行翻新,但是,对象不会扩充存款和储蓄空间。假诺扩充,更新就会退步 。
  • 数据库分裂意开始展览删减。使用drop()方法删除collection全体的行。
  • 瞩目: 删除之后,你不能不显式的双重创造这么些collection。
  • 在32bit机器中,capped collection最大存款和储蓄为1e9(
    1X109882828九五至尊手机版,)个字节。

官方的集合名

  • 集合名无法是空字符串””。
  • 集合名不能够含有\0字符(空字符),这些字符表示集合名的末尾。
  • 集合名无法以”system.”起始,那是为系统集结保留的前缀。
  • 用户成立的聚集名字不能够含有保留字符。有个别驱动程序的确辅助在集合名里面含有,这是因为有个别系统生成的联谊中带有该字符。除非你要访问这种系统制造的成团,不然千万不要在名字里涌出$。 

正如实例:

db.col.findOne()

元数据

数据库的音信是储存在汇集中。它们选择了系统的命名空间:

dbname.system.*

在MongoDB数据库中名字空间 <dbname>.system.*
是富含各类种类音信的超过常规规集合(Collection),如下:

集合命名空间 描述
dbname.system.namespaces 列出所有名字空间。
dbname.system.indexes 列出所有索引。
dbname.system.profile 包含数据库概要(profile)信息。
dbname.system.users 列出所有可访问数据库的用户。
dbname.local.sources 包含复制对端(slave)的服务器信息和状态。

对于修改系统集合中的对象有如下限制。

在{{system.indexes}}插入数据,可以创造索引。但除了该表音信是不可变的(特殊的drop
index命令将自动更新相关消息)。

{{system.users}}是可修改的。 {{system.profile}}是可去除的。


capped collections

Capped collections 正是原则性大小的collection。

它有很高的性质以及队列过期的表征(过期根据插入的顺序). 有点和 “LacrosseRAV4D”
概念类似。

Capped
collections是高品质自动的掩护对象的插入顺序。它相当适合类似记录日志的效果
和标准的collection分化,你不能够不要显式的开创一个capped collection,
钦命3个collection的深浅,单位是字节。collection的数目存款和储蓄空间值提前分配的。

 

要专注的是钦赐的存款和储蓄大小包括了数据库的头音信。

 

db.createCollection("mycoll", {capped:true, size:100000})
  • 在capped collection中,你能添加新的指标。
  • 能展开翻新,可是,对象不会大增存储空间。如果扩展,更新就会失败 。
  • 数据库不允许开展删减。使用drop()方法删除collection全体的行。
  • 专注: 删除之后,你不可能不显式的再次创造那一个collection。
  • 在32bit机器中,capped collection最大存款和储蓄为1e9(
    1X109)个字节。

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 正则表达式类型。用于存储正则表达式。

元数据

数据库的新闻是储存在联谊中。它们采纳了系统的命名空间:

dbname.system.*

在MongoDB数据库中名字空间 <dbname>.system.*
是富含各个种类消息的特别集合(Collection),如下:

集合命名空间 描述
dbname.system.namespaces 列出所有名字空间。
dbname.system.indexes 列出所有索引。
dbname.system.profile 包含数据库概要(profile)信息。
dbname.system.users 列出所有可访问数据库的用户。
dbname.local.sources 包含复制对端(slave)的服务器信息和状态。

对此修改系统集结中的对象有如下限制。

在{{system.indexes}}插入数据,能够创设索引。但除了该表消息是不可变的(特殊的drop
index命令将自动更新相关音讯)。

{{system.users}}是可修改的。 {{system.profile}}是可去除的。


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 正则表达式类型。用于存储正则表达式。

相关文章

Your Comments

近期评论

    功能


    网站地图xml地图