W3C HTML 网页标准教程

MongoDB-概述

MongoDB是一个跨平台的,面向文档的数据库,可提供高性能,高可用性和易扩展性。MongoDB致力于收集和文档的概念。

数据库

数据库是用于收集的物理容器。每个数据库在文件系统上都有其自己的文件集。一台MongoDB服务器通常具有多个数据库。

采集

集合是一组MongoDB文档。它等效于RDBMS表。集合存在于单个数据库中。集合不强制执行架构。集合中的文档可以具有不同的字段。通常,集合中的所有文档都具有相似或相关的目的。

文件

文档是一组键值对。文档具有动态架构。动态模式意味着同一集合中的文档不需要具有相同的字段或结构集,并且集合文档中的公共字段可以保存不同类型的数据。

下表显示了RDBMS术语与MongoDB的关系。

关系数据库管理系统 MongoDB
数据库 数据库
采集
元组/行 文件
领域
表联接 嵌入式文件
首要的关键 主键(MongoDB本身提供的默认键_id)
数据库服务器和客户端
mysqld / Oracle 蒙哥
mysql / sqlplus 蒙哥

样本文件

以下示例显示了博客站点的文档结构,它只是一个逗号分隔的键值对。

{    _id: ObjectId(7df78ad8902c)    title: 'MongoDB Overview',     description: 'MongoDB is no sql database',    by: 'tutorials point',    url: 'http://www.tutorialspoint.com',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 100,     comments: [	       {          user:'user1',          message: 'My first comment',          dateCreated: new Date(2011,1,20,2,15),          like: 0        },       {          user:'user2',          message: 'My second comments',          dateCreated: new Date(2011,1,25,7,45),          like: 5       }    ] }

_id是一个12字节的十六进制数字,可确保每个文档的唯一性。您可以在插入文档时提供_id。如果您不提供,那么MongoDB将为每个文档提供唯一的ID。当前时间戳的前12个字节,前4个字节,机器ID的后3个字节,MongoDB服务器的进程ID的后2个字节以及其余3个字节是简单的增量值。