Mongodb 简明教程
MongoDB - Overview
MongoDB 是一个跨平台文档导向数据库,它提供高性能、高可用性和简单可扩展性。MongoDB 在集合和文档的概念上工作。
Collection
集合是一组 MongoDB 文档。它相当于 RDBMS 表。集合存在于单个数据库中。集合不强制执行模式。集合中的文档可以有不同的字段。通常,集合中的所有文档都具有相似或相关用途。
Document
文档是一组键值对。文档具有动态模式。动态模式意味着同一集合中的文档不必具有相同的字段集或结构,并且集合文档中的常见字段可能保存不同类型的数据。
下表显示了 RDBMS 术语与 MongoDB 之间的关系。
RDBMS |
MongoDB |
Database |
Database |
Table |
Collection |
Tuple/Row |
Document |
column |
Field |
Table Join |
Embedded Documents |
Primary Key |
主键(由 MongoDB 本身提供的默认键 _id) |
Database Server and Client |
mysqld/Oracle |
mongod |
mysql/sqlplus |
Sample Document
以下示例显示了博客网站的文档结构,它只是一个逗号分隔的键值对。
{
_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。