Table of Contents
MongoDB-概述
https://www.tutorialspoint.com/mongodb/mongodb_overview.htm
MongoDB是一个跨平台的,面向文档的数据库,可提供高性能,高可用性和易扩展性。MongoDB致力于收集和文档的概念。
数据库
数据库是用于收集的物理容器。每个数据库在文件系统上都有其自己的文件集。一台MongoDB服务器通常具有多个数据库。
采集
集合是一组MongoDB文档。它等效于RDBMS表。集合存在于单个数据库中。集合不强制执行架构。集合中的文档可以具有不同的字段。通常,集合中的所有文档都具有相似或相关的目的。
文件
文档是一组键值对。文档具有动态架构。动态模式意味着同一集合中的文档不需要具有相同的字段或结构集,并且集合文档中的公共字段可以保存不同类型的数据。
下表显示了RDBMS术语与MongoDB的关系。
关系数据库管理系统 | MongoDB |
---|---|
数据库 | 数据库 |
表 | 采集 |
元组/行 | 文件 |
柱 | 领域 |
表联接 | 嵌入式文件 |
首要的关键 | 主键(MongoDB本身提供的默认键_id) |
数据库服务器和客户端 | |
mysqld / Oracle | 蒙哥 |
mysql / sqlplus | 蒙哥 |
样本文件
以下示例显示了博客站点的文档结构,它只是一个逗号分隔的键值对。
<span style="color:rgba(0, 0, 0, 0.87)">{
_id: ObjectId(7df78ad8902c)
title: 'MongoDB Overview',
description: 'MongoDB is no sql database',
by: 'tutorials point',
url: 'http://www.tutorialspoint.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100,
comments: [
{
user:'user1',
message: 'My first comment',
dateCreated: new Date(2011,1,20,2,15),
like: 0
},
{
user:'user2',
message: 'My second comments',
dateCreated: new Date(2011,1,25,7,45),
like: 5
}
]
}</span>
_id是一个12字节的十六进制数字,可确保每个文档的唯一性。您可以在插入文档时提供_id。如果您不提供,那么MongoDB将为每个文档提供唯一的ID。当前时间戳的前12个字节,前4个字节,机器ID的后3个字节,MongoDB服务器的进程ID的后2个字节以及其余3个字节是简单的增量值。
MongoDB教程
https://www.tutorialspoint.com/mongodb/index.htm
MongoDB是一个开源文档数据库和领先的NoSQL数据库。MongoDB用C ++编写。本教程将使您对创建和部署高度可扩展且面向性能的数据库所需的MongoDB概念有很好的了解。
本教程适用于愿意通过简单的步骤学习MongoDB数据库的软件专业人员。它将阐明MongoDB的概念,并在完成本教程后,您将处于中级专业知识水平,从中您将获得更高的专业知识水平。
在继续本教程之前,您应该对数据库,文本编辑器和程序执行等具有基本的了解。由于我们将开发高性能数据库,因此如果您对数据库的基本概念有所了解将是一个很好的选择。 (RDBMS)。
MongoDB-优势
https://www.tutorialspoint.com/mongodb/mongodb_advantages.htm
任何关系数据库都具有典型的架构设计,该设计显示表的数量以及这些表之间的关系。在MongoDB中,没有关系的概念。
MongoDB与RDBMS相比的优势
-
模式少-MongoDB是一个文档数据库,其中一个集合包含不同的文档。一个文档之间的字段数,内容和文档大小可能会有所不同。
-
单个对象的结构清晰。
-
没有复杂的联接。
-
深入的查询能力。MongoDB支持使用与SQL几乎一样强大的基于文档的查询语言对文档进行动态查询。
-
调音。
-
易于扩展-MongoDB易于扩展。
-
不需要将应用程序对象转换/映射到数据库对象。
-
使用内部存储器存储(窗口式)工作集,从而可以更快地访问数据。
为什么要使用MongoDB?
-
面向文档的存储-数据以JSON样式的文档形式存储。
-
任何属性的索引
-
复制和高可用性
-
自动分享
-
丰富的查询
-
快速就地更新
-
MongoDB的专业支持
在哪里使用MongoDB?
-
大数据
-
内容管理和交付
-
移动和社交基础设施
-
用户数据管理
-
数据中心
资源网址
视频教程:https://www.udemy.com/course/mongodb-the-complete-developers-guide/
源码GitHub地址:https://github.com/mongodb/mongo