Skip to main content
 首页 » 数据库

MongoDB介绍

2022年07月19日142oomusou

MongoDB 介绍

MongoDB是使用C++开发的跨平台开源文档型数据库,是NOSQL类型数据库中的佼佼者。具有高性能、高可用性、易扩展性,基于集合和文档概念。

 数据库

数据库是集合的物理容器,每个数据库有属于其的一组在文件系统中的文件,单个MongoDB服务器有多个数据库。

集合

集合是一组文档,相当于RDBMS中的表。一个集合只能存在一个数据库中。集合不强制模式(schema),在集合中的文档可以有不同的字段,一般集合中的所有文档具有相似或相关的目的。

文档

文档是一组键值对的集合,文档具有动态模式,意味着同一集合下所有文档不需要有相同的字段或结构,而且同一字段可以存储不同数据类型的数据。

下面是RDBMS术语与MongoDB的对比:
这里写图片描述

示例文档

下面示例展示blog的文档结果,主要是逗号分割的键值对,即json数据。

{ 
   _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

_id 是12字节的16进制数值,确保每个文档的唯一性。插入文档时,可以提供,如果没有提供,系统自动生成。前4字节是当前时间戳,接下来3位是机器ID,再后面2位是MongoDB服务的进程ID,最后3位是自增值。


本文参考链接:https://blog.csdn.net/neweastsun/article/details/54800304