MongoDB – 简介

预计阅读时间1 分 49 views

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

 数据库

数据库是集合的物理容器。每个数据库在文件系统上都有自己的一组文件。单个MongoDB服务器通常具有多个数据库。

收集

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

 公文

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

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

RDBMSMongoDB
DatabaseDatabase
TableCollection
 元组/行Document
columnField
 表联接 嵌入式文档
 主键主键(默认键_id由MongoDB本身提供)
数据库服务器和客户端
 mysqld/甲骨文mongod
 mysql/sqlplus的mongo

示例文档

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

{
   _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 个字节用于当前时间戳,接下来的 3 个字节用于计算机 ID,接下来的 2 个字节用于 MongoDB 服务器的进程 ID,其余 3 个字节是简单的增量 VALUE。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

16 − 4 =

分享此教程

MongoDB – 简介

或复制链接

内容