教程 > mongodb 教程 > 阅读:46

mongodb 简介——迹忆客-ag捕鱼王app官网

mongodb 是由c 语言编写的,是一个基于分布式文件存储的开源数据库系统。

在高负载的情况下,添加更多的节点,可以保证服务器性能。

mongodb 旨在为web应用提供可扩展的高性能数据存储ag捕鱼王app官网的解决方案。

mongodb 将数据存储为一个文档,数据结构由键值(key=>value)对组成。mongodb 文档类似于 json 对象。字段值可以包含其他文档,数组及文档数组。

mongodb 的核心概念包括数据库,集合和文档。

数据库

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

集合

集合是一组 mongodb 文档。它相当于一个 rdbms 表。集合存在于单个数据库中。集合不强制执行模式。集合中的文档可以有不同的字段。通常,集合中的所有文档都具有相关性。

文档

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

下表显示了 rdbms 术语与 mongodb 的关系。

rdbms mongodb
database database
table collection
tuple/row document
column field
table join embedded documents
primary key primary key (由mongodb提供的默认的key _id)

一个简单的文档示例

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

{
   _id: objectid(7df78ad8902c)
   title: "mongodb overview", 
   description: "mongodb is no sql database",
   by: "jiyik point",
   url: "http://www.jiyik.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。如果没有指定_id,那么 mongodb 会为每个文档自动生成一个唯一的 id。

这 12 个字节的前 4 个字节是当前时间戳,接下来的 3 个字节是机器 id,然后紧跟着的 2 个字节用于 mongodb 服务器的进程 id,其余 3 个字节是简单的增量值。

查看笔记

扫码一下
查看教程更方便
网站地图