MongoDB 教程
MongoDB教程提供SQL的基本和高级概念。我们的MongoDB教程专为初学者和专业人士设计。
MongoDB是一个NoSQL数据库。它是一个开源的、跨平台的、面向文档的C++编写的数据库。
我们的MongoDB教程包括MongoDB数据库的所有主题,如插入文档、更新文档、删除文档、查询文档、投影、sort()和limit()方法、创建集合、删除集合等。还提供了MongoDB面试题,以帮助您更好地理解MongoDB数据库。
MongoDB是什么
MongoDB 是一个开源的文档数据库,提供高性能、高可用性和自动扩展。
简单地说,MongoDB是一个面向文档的数据库。它是一个开源产品,由一家名为10gen的公司开发和支持。
MongoDB可以免费使用通用公共许可证,也可以从制造商获得商业许可证。
制造公司10gen将MongoDB定义为:
“MongoDB是一个可扩展的、开源的、高性能的、面向文档的数据库。” – 10gen
MongoDB的设计初衷是与廉价服务器一起使用。现在它被各种规模和各行各业的公司使用。
MongoDB的历史
MongoDB的初步开发始于2007年,当时该公司正在构建一个类似于Azure的平台即服务。
Azure是由微软创建的云计算平台和基础架构,通过全球网络构建、部署和管理应用程序和服务。
MongoDB由一家名为10gen的纽约机构开发,现在被称为MongoDB Inc。它最初是作为一种平台即服务(PAAS)开发的。后来在2009年,它作为一个开源的数据库服务器引入市场,并由MongoDB Inc提供维护和支持。
MongoDB的首个可用版本被认为是从2010年3月发布的1.4版开始。
MongoDB2.4.9是最新稳定版本,于2014年1月10日发布。
构建MongoDB的目的
这可能是一个非常真实的问题:“既然已经有许多数据库在使用,为什么还需要MongoDB呢?”
简单的答案是:
所有现代应用程序都需要大数据、快速功能开发、灵活部署,而旧的数据库系统不够competent(有能力),所以需要MongoDB。
构建MongoDB的主要目的是:
- 可扩展性
- 性能
- 高可用性
- 从单服务器部署扩展到大型复杂多站点架构。
- MongoDB的关键点
- 快速开发
- 易于部署
- 更大规模
首先,我们应该知道什么是面向文档的数据库?
面向文档的数据库示例
MongoDB是一个面向文档的数据库。这是MongoDB的一个关键特性。它提供了面向文档的存储。很简单,您可以轻松编程。
MongoDB将数据存储为文档,因此被称为面向文档的数据库。
FirstName = "John",
Address = "Detroit",
Spouse = [{Name: "Angela"}].
FirstName ="John",
Address = "Wick"
有两个不同的文档(用 “.” 分隔)。
以这种方式存储数据称为面向文档的数据库。
MongoDB属于称为文档导向数据库的数据库类别。还有一类广泛的数据库称为非SQL数据库。
MongoDB的特点
这些是MongoDB的一些重要特点:
1.支持特设查询
在MongoDB中,您可以按字段,范围查询搜索,并且还支持正则表达式搜索。
2.索引
您可以对文档中的任何字段进行索引。
3.复制
MongoDB支持主从复制。
主服务器可以执行读取和写入操作,从服务器从主服务器复制数据,并且只能用于读取或备份(不写入)
4.数据的复制
MongoDB可以在多台服务器上运行。为了保持系统的运行和硬件故障的情况下保持其运行状态,数据被复制。
5.负载平衡
它具有由于数据放置在分片中而进行的自动负载平衡配置。
6.支持map reduce和聚合工具 。
7.使用JavaScript 而不是过程。
8.它是用C ++ 编写的无模式数据库。
9.提供高性能 。
10.轻松存储任意大小的文件,而不会使堆栈复杂 。
11.在故障情况下易于管理 。
12. 还支持:
- 具有动态模式的JSON数据模型
- 水平扩展的自动分片
- 内置的高可用复制
- 当今的很多公司使用MongoDB来创建新类型的应用程序,提高性能和可用性。
先决条件
在学习MongoDB之前,您必须具备SQL和OOP的基本知识。
教程对象
我们的MongoDB教程旨在帮助初学者和专业人士。