MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

MongoDB 是非关系型数据库当中最像关系型数据库

MongoDB 简介

MongoDB 是为了快速开发互联网 web 应用而设计的数据库系统。

MongoDB 的设计目标是极简、灵活、作为 web 应用栈的一部分。

MongoDB的数据模型是面向文档的,所谓文档是一种类似于json的结构,简单理解MongoDB这个数据库存的是各种各样的json。

三个概念

数据库(database)

-数据库是一个仓库,在仓库中可以存放集合

集合(collection)

-集合类似于数组,在集合中可以存放文档

文档(document)

文档数据库中的最小单位,我们存储的操作的内容都是文档

特点

MongoDB 是一个面向文档存储的数据库,操作比较简单和容易

可以在MongoDB记录中设置任何属性的索引

可以通过本地或者网络创建数据镜像,使得MongoDB 有更强的扩展性

负载的增加,可以分布在计算机的其他节点上

MongoDB 使用 update()命令可以实现替换完成文档或者一些指定的数据字段

MongoDB 的 Map 和 reduce 主要是用来对数据进行批量处理和聚合操作

Map和 Reduce,Map 函数调用 emit(key,value)遍历集合中所有的记录,将key 与 value 传给 Reduce 函数进行处理

Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。

GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。

MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。

MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

MongoDB安装简单。

SQL 和 MongoDB 相同

SQL概念 MongoDB概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
primary key primary key 主键,MongoDB自动将_id字段设置为主键

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐