MongoDB 入门

MongoDB是一个以文档为中心的NOSQL数据库,具备高性能、高可用性及可伸缩性等特性。

下面介绍MongoDB中的基础概念:

Database/数据库

与关系数据库类似,MongoDB中,数据库代表了一个独立的数据存储库,每个数据库在文件系统上都有自己的一组文件。一个MongoDB服务器通常有多个数据库。

Collection/集合

Collection/集合是一组MongoDB文档,相当于关系数据库中的表,包含于数据库中。与关系数据库的表不同,集合不要求固定一致的表结构,集合中的文档可以有不同的字段。但是,集合中的文档都应具有相似或相关联的意义,例如:订单集合,包含了全部订单文档。

Document/文档

文档是一组JSON格式的键值对,。文档具有动态数据结构,同一集合中的文档不需要具有相同的字段集。

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

关系数据库 MongoDB
Database Database
Table Collection
Tuple/Row Document
column Field
Table Join Embedded Documents
Primary Key Primary Key (由mongodb本身提供的默认键_id)
服务器和客户端
Mysqld/Oracle mongod
mysql client mongo

文档示例

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

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

_id是一个12字节的十六进制数字,唯一标识文档。你可以在插入文档时指定_id,如果不指定,MongoDB将会生成一个。这12个字节由下面几部分组成:

  • 4 字节 – 表示自Unix纪元以来的秒数
  • 5 字节 – 随机值
  • 3 字节 – 计数器,从一个随机值开始


浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载