3.6.2 MongoDB(文档数据库)

最后更新于:2022-04-02 07:39:07

### **Mongodb 介绍** **Mongodb 官网:https://www.mongodb.com** #### MongoDB成立于2007年,总部设在纽约市,由德怀特·梅里曼(Dwight Merriman),艾略特·霍洛维茨(Eliot Horowitz)和凯文·瑞恩(Kevin Ryan)组成。MongoDB由C++编写, MongoDB可以运行在Windows、unix、OSX、Solaris系统上,支持32位和64位应用,提供多种编程语言的驱动程序。 在互联网广告公司DoubleClick(最早的应用服务提供商(ASP)之一,用于互联网“广告投放”,2007年被 Google 收购)上,该业务每秒提供40万个广告,但系统上可伸缩性和敏捷性是令人沮丧的,该团队开发并使用了许多自定义数据存储来解决现有数据库的缺点。该团队的灵感来自于创建一个解决DoubleClick面临的挑战的数据库。 MongoDB的(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业,各个行业以及各类应用程序的开源数据库。 作为一个适用于敏捷开发的数据库,MongoDB的的数据模式可以随着应用程序的发展而灵活地更新。MongoDB是一个开源文档数据库,提供高性能,高可用性和自动扩展。 Mongodb是一种开源的文档型数据库,是专为可扩展性,高性能和高可用性而设计的数据库,是非关系型数据库中功能最丰富,最像关系型数据库的,它支持的数据结构非常松散,是类似 json 的 bjson 格式,因此可以存储比较复杂的数据类型。 MongoDB将数据存储在灵活的,类似JSON的文档中,意味着字段可能因文档而异,并且数据结构可以随时变化。文档模型映射到应用程序代码中的对象,使数据易于使用,MongoDB的文档模型对于开发人员来说很容易学习和使用,同时仍然提供满足任何规模的最复杂需求所需的所有功能。 Mongodb 最大的特点就是支持的查询语言非常强大,其语法类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的大部分功能,而且还支持对数据建立索引。模式自由不需要定义 schema。 MongoDB 以一种叫做 BSON(二进制 JSON)的存储形式将数据作为文档存储。具有相似结构的文档通常被整理成集合,最大BSON文档大小为16兆字节。 ### 可以把这些集合看成类似于关系数据库中的表:****文档和行相似,字段和列相似。**** ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/61/4e/614e49617d2bc81a6289ad8756ef1094_828x450.png) | mysql数据库 | mongodb数据库 | | --- | --- | | mysql实例 | mongodb 实例 | |database -->|database| |表table -->|集合collection| |行row -->|文档doc| ### JSON串, "name":"sue",一个key 一个value. value可以是int 类型、字符串、数组等 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/00/5f/005f00fecfe7a223b14d4086c531e79b_629x194.png)
';