MongoDB

Posted 追梦NAN的运维开发之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB相关的知识,希望对你有一定的参考价值。

1.简介

MongoDB并非芒果的意思,而是源于 Humongous(巨大)一词。

1.1MongoDB的特性

MongoDB的3大技术特色如下所示:

img

除了上图所示的还支持

  二级索引、动态查询、全文搜索 、聚合框架、MapReduce、GridFS、地理位置索引、内存引擎 、地理分布等一系列的强大功能。

但是其也有些许的缺点,例如:

  多表关联: 仅仅支持Left Outer Join

  SQL 语句支持: 查询为主,部分支持

  多表原子事务: 不支持

  多文档原子事务:不支持

  16MB 文档大小限制,不支持中文排序 ,服务端 javascript 性能欠佳

1.2关系型数据库与mongodb对比

存储方式对比

​ 在传统的关系型数据库中,存储方式是以表的形式存放,而在MongoDB中,以文档的形式存在。

img

数据库中的对应关系,及存储形式的说明

img

MongoDB与SQL的结构对比详解

SQL Terms/Concepts MongoDB Terms/Concepts
database database
table collection
row document or BSON document
column field
index index
table joins embedded documents and linking
primary keySpecify any unique column orcolumn combination as****primary key. primary keyIn MongoDB, the primary key isautomatically set to the _id field.
aggregation (e.g. group by) aggregation pipelineSee the SQL to Aggregation MappingChart.

1.3 MongoDB数据存储格式

JSON****格式

  JSON 数据格式与语言无关,脱胎于 JavaScript,但目前很多编程语言都支持 JSON 格式数据的生成和解析。JSON 的官方 MIME 类型是 application/json,文件扩展名是 .json。

  MongoDB 使用JSON(JavaScript ObjectNotation)文档存储记录。

  JSON数据库语句可以容易被解析。

  Web 应用大量使用,NAME-VALUE 配对

img

BSON****格式

  BSON是由10gen开发的一个数据格式,目前主要用于MongoDB中,是MongoDB的数据存储格式。BSON基于JSON格式,选择JSON进行改造的原因主要是JSON的通用性及JSON的schemaless的特性。

  二进制的JSON,JSON文档的二进制编码存储格式

  BSON有JSON没有的Date和BinData

  MongoDB中document以BSON形式存放

例如:

> db.meeting.insert({meeting:“M1 June",Date:"2018-01-06"});

1.4 MongoDB的优势

  

以上是关于MongoDB的主要内容,如果未能解决你的问题,请参考以下文章

ios - Heroku 和 MongoDb 上的自定义解析服务器错误 3080:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项

mongodb关联查询

无法在 MongoDB(猫鼬)文档中追加数组

在 Spring MongoDB 的 ReplaceRoot 管道阶段使用 $mergeObjects

如何创建一个查询来查找 2 个数字之间的值,这些数字是 MongoDB 中的字符串类型

MongoDB GridFS