[转]MongoDB 概念解析

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

 

甭管大家学习如何数据库都应该学学当中的根基概念,在mongodb中挑顺德的定义是文书档案、集合、数据库,上面大家各样介绍。

下表将帮扶您更易于通晓Mongo中的一对定义:

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

经过下图实例,大家也能够更直观的的摸底Mongo中的有的定义:

图片 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”命令,能够一而再到3个点名的数据库。

> use local
switched to db local
> db
local
>

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

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

数据库也由此名字来标识。数据库名能够是满足以下标准的任意UTF-8字符串。

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

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

  • admin
    从权力的角度来看,那是”root”数据库。假若将叁个用户增进到这么些数据库,这几个用户自行延续全体数据库的权位。一些特定的服务器端命令也只好从这些数据库运营,比如列出全部的数据库或然关闭服务器。
  • local:
    这一个数量永远不会被复制,能够用来囤积限于本地单台服务器的私行集合
  • config:
    当Mongo用于分片设置时,config数据库在里面选用,用于保存分片的相关消息。

文档

文书档案是一组键值(key-value)对(即BSON)。MongoDB
的文书档案不要求设置同一的字段,并且相同的字段不需求一致的数据类型,那与关系型数据库有一点都不小的区分,也是
MongoDB 分外特出的特征。

四个总结的文档例子如下:

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

下表列出了 EvoqueDBMS 与 MongoDB 对应的术语:

RDBMS

MongoDB

数据库

数据库

表格

集合

文档

字段

表联合

放置文书档案

主键

主键 (MongoDB 提供了 key  为 _id )

数据库服务和客户端

Mysqld/Oracle

mongod

mysql/sqlplus

mongo

内需注意的是:

  1. 文书档案中的键/值对是雷打不动的。
  2. 文书档案中的值不仅能够是在双引号里面包车型客车字符串,还可以够是别的三种数据类型(甚至能够是任何嵌入的文书档案)。
  3. MongoDB区分类型和尺寸写。
  4. MongoDB的文书档案不可能有再次的键。
  5. 文书档案的键是字符串。除了少数例外情形,键能够动用任意UTF-8字符。

文档键命名规范:

  • 键无法含有\0 (空字符)。那么些字符用来表示键的最后。
  • .和$有尤其的意义,唯有在一定环境下才能使用。
  • 以下划线”_”起头的键是保留的(不是严厉供给的)。

集合

聚拢便是 MongoDB 文书档案组,类似于 奥迪Q7DBMS (关周全据库管理种类:Relational
Database Management System)中的表格。

聚集存在于数据库中,集合没有一向的构造,那表示你在对聚集能够插入分化格式和类其他数量,但一般状态下大家插入集合的数目都会有早晚的关联性。

 

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

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

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

法定的集合名

  • 集合名无法是空字符串””。
  • 集合名不可能含有\0字符(空字符),那么些字符表示集合名的终极。
  • 集合名无法以”system.”起始,那是为系统集结保留的前缀。
  • 用户创制的集聚名字不能含有保留字符。有个别驱动程序的确帮助在集合名里面含有,那是因为一些系统生成的聚集中包涵该字符。除非你要拜访这种系统成立的集结,不然千万不要在名字里冒出$。 

如下实例:

db.col.findOne()

capped collections

Capped collections 便是定点大小的collection。

它有很高的属性以及队列过期的特点(过期遵照插入的相继). 有点和 “奥迪Q5CR-VD”
概念类似。

Capped
collections是高品质自动的珍重对象的插入顺序。它格外适合类似记录日志的成效和正式的collection区别,你须要求显式的创立一个capped collection,
钦点二个collection的轻重,单位是字节。collection的多少存款和储蓄空间值提前分配的。

 

要留意的是内定的贮存大小蕴含了数据库的头音信。

 

db.createCollection("mycoll", {capped:true, size:100000})
  • 在capped collection中,你能添加新的靶子。
  • 能开始展览翻新,然则,对象不会追加存款和储蓄空间。假如扩充,更新就会失利 。
  • 数据库不允许举行删除。使用drop()方法删除collection全体的行。
  • 瞩目: 删除之后,你必须显式的再度成立这么些collection。
  • 在32bit机器中,capped collection最大存款和储蓄为1e9(
    1X109)个字节。

元数据

数据库的音讯是储存在集结中。它们采取了系统的命名空间:

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

相关文章