📜  学习MongoDB教程

📅  最后修改于: 2020-11-23 00:46:42             🧑  作者: Mango

MongoDB教程

MongoDB教程提供了SQL的基本概念和高级概念。我们的MongoDB教程是为初学者和专业人士设计的。

MongoDB是一个No SQL数据库。它是一个用C++编写的开源,跨平台,面向文档的数据库。

我们的MongoDB教程涵盖了MongoDB数据库的所有主题,例如插入文档,更新文档,删除文档,查询文档,投影,sort()和limit()方法,创建集合,放置集合等。还提供了MongoDB面试问题帮助您更好地了解MongoDB数据库。

什么是MongoDB

MongoDB是一个开源文档数据库,可提供高性能,高可用性和自动扩展。

简单来说,您可以说-Mongo DB是一个面向文档的数据库。它是一个开源产品,由一家名为10gen的公司开发和支持。

MongoDB可根据通用公共许可免费获得,也可根据制造商的商业许可获得。

制造公司10gen将MongoDB定义为:

“ MongoDB是一个可扩展的,开源的,高性能的,面向文档的数据库。” -10gen

MongoDB旨在与商品服务器一起使用。现在,它已被所有行业的各种规模的公司所使用。

MongoDB的历史

MongoDB的最初开发始于2007年,当时该公司正在构建类似于window azure的平台即服务。

Window azure是Microsoft创建的一种云计算平台和基础架构,用于通过全球网络构建,部署和管理应用程序和服务。

MongoDB由总部位于纽约的名为10gen的组织开发,现在称为MongoDBInc。它最初是作为PAAS(平台即服务)开发的。 2009年下半年,它作为由MongoDB Inc.维护和支持的开源数据库服务器被引入市场。

从2010年3月发布的1.4版开始,考虑使用MongoDB的第一个现成产品。

MongoDB2.4.9是2014年1月10日发布的最新且稳定的版本。

建立MongoDB的目的

这可能是一个非常真实的问题-“尽管有许多数据库在运行,但MongoDB的需求是什么?”

有一个简单的答案:

所有现代应用程序都需要大数据,快速的功能开发,灵活的部署,以及较旧的数据库系统功能不足,因此需要MongoDB。

构建MongoDB的主要目的是:

  • 可扩展性
  • 性能
  • 高可用性
  • 从单服务器部署扩展到大型,复杂的多站点体系结构。
  • MongoDB的重点
  • 发展更快
  • 部署更轻松
  • 规模更大

首先,我们应该知道什么是面向文档的数据库?

面向文档的数据库示例

MongoDB是面向文档的数据库。这是MongoDB的关键功能。它提供了一个面向文档的存储。非常简单,您可以轻松对其进行编程。

MongoDB将数据存储为文档,因此它被称为面向文档的数据库。

FirstName = "John",                                                                                                           
Address = "Detroit",                                                                                                   
Spouse = [{Name: "Angela"}].                                                                                           
FirstName ="John",  
Address = "Wick"

有两个不同的文档(以“。”分隔)。

以这种方式存储数据称为面向文档的数据库。

Mongo DB属于一类称为面向文档的数据库的数据库。还有一个广泛的数据库类别,称为“无SQL数据库”。

MongoDB的功能

这些是MongoDB的一些重要功能:

1.支持即席查询

在MongoDB中,您可以按字段,范围查询进行搜索,它还支持正则表达式搜索。

2.索引

您可以索引文档中的任何字段。

3.复制

MongoDB支持主从复制。

主机可以执行读写操作,而从机可以从主机复制数据,并且只能用于读取或备份(不能写入)

4.数据重复

MongoDB可以在多个服务器上运行。复制数据以保持系统正常运行,并在硬件出现故障时保持其运行状态。

5.负载均衡

由于将数据放置在分片中,因此它具有自动负载平衡配置。

6.支持地图缩小和聚合工具。

7.使用JavaScript代替过程。

8.它是用C++编写的无模式数据库。

9.提供高性能。

10.轻松存储任何大小的文件,而不会导致堆栈复杂化。

11.发生故障时易于管理。

12.它还支持:

具有动态模式的JSON数据模型

自动分片以实现水平可伸缩性

内置复制以实现高可用性

如今,许多公司每天都在使用MongoDB创建新类型的应用程序,以提高性能和可用性。

先决条件

在学习MongoDB之前,您必须具有SQL和OOP的基本知识。

听众

我们的MongoDB教程旨在帮助初学者和专业人士。

问题

我们保证您在此MongoDB教程中不会发现任何问题。但是,如果有任何错误,请在联系表格中发布问题。