MongoDB 概述
MongoDB 是一个跨平台、面向文档的数据库,它提供高性能、高可用性和轻松的可扩展性。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 (Default key _id provided by mongodb itself)
Database Server and Client
Mysqld/Oracle 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。当前时间戳的前4个字节、计算机id的后3个字节、MongoDB服务器的进程id的后2个字节以及剩余的3个字节都是简单的增量值。
MongoDB 是一个跨平台、面向文档的数据库,它提供高性能、高可用性和轻松的可扩展性。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 (Default key _id provided by mongodb itself)
Database Server and Client
Mysqld/Oracle 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。当前时间戳的前4个字节、计算机id的后3个字节、MongoDB服务器的进程id的后2个字节以及剩余的3个字节都是简单的增量值。