首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MongoDB-基本介绍和入门

MongoDB-基本介绍和入门

作者头像
运维小路
发布2026-01-26 12:36:40
发布2026-01-26 12:36:40
2290
举报
文章被收录于专栏:运维小路运维小路

作者介绍:简历上没有一个精通的运维工程师,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

数据库是一个系统(应用)最重要的资产之一,所以我们的数据库将从以下几个数据库来进行介绍。

MySQL

PostgreSQL

MongoDB(本章节)

Redis

Etcd

这个是我们讲的第三个数据库:MongoDB,他和前面讲解的MySQL和PostgreSQL最大的区别是他不再是关系型数据库,一般叫NoSQL数据库或者文档数据库。

1. 什么是 MongoDB?

MongoDB 是一个开源的、面向文档的 NoSQL 数据库。它由 C++ 语言编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。与传统的关系型数据库(如 MySQL、PostgreSQL)使用表和行的结构不同,MongoDB 使用 JSON-like 格式的文档(BSON) 来存储数据,这使得数据结构非常灵活。

2. 核心概念:与关系型数据库的对比

为了更好理解,我们将其与熟悉的 MySQL 进行对比:

RDBMS (MySQL)

MongoDB

说明

数据库 Database

数据库 Database

概念一致,用于存储数据集合。

表Table

集合 Collection

在 RDBMS 中是表;在 MongoDB 中是一组文档的容器。

行 Row

文档 Document

RDBMS 中的一行记录;MongoDB 中是一个键值对集合,是数据的基本单元。

列 Column

字段 Field

RDBMS 中的列名;MongoDB 中文档的键。

主键 Primary Key

_id 字段

每个 MongoDB 文档都有一个唯一的 _id 作为主键,如果未提供,系统会自动创建。

表联接 Joins

嵌入文档/引用

MongoDB 通常通过嵌入文档或手动引用($lookup)来处理数据关系。

其实从这里某些特性来看,他和我我们前面讲的Elasticsearch有点类似。

3. MongoDB 的主要特点

面向文档(Document-Oriented):

  • 数据以文档形式存储,类似于 JSON 对象。
  • 一个文档就是一个完整的数据单元,可以包含多种结构的数据(字符串、数字、数组、甚至其他文档)。
代码语言:javascript
复制
{
  "_id": ObjectId("5f9d1b2c3a7e6c1234567890"),
  "name": "张三",
  "age": 30,
  "hobbies": ["阅读", "游泳", "编程"],
  "address": {
    "city": "北京",
    "street": "朝阳区某街道"
  }
}

灵活的 schema:

  • 同一个集合(Collection)中的文档不需要具有相同的字段集。
  • 这意味着你可以随时为文档添加新字段,而无需像关系型数据库那样先执行 ALTER TABLE 操作。这非常适合快速迭代的开发模式。

高性能:

  • 支持嵌入式数据模型,减少了数据库系统上的 I/O 操作。
  • 丰富的索引支持(单字段、复合、多键、地理空间、文本索引等),可以快速查询

高可用性&水平扩展:

  • 通过 副本集(Replica Set) 提供自动故障转移。副本集是一组维护相同数据集的 MongoDB 服务器,确保主节点宕机时,从节点可以自动升级为主节点。他是原生分布式数据库,和前面介绍的中间件类似不依赖外部组件就可以确保自己的高可用。
  • 通过 分片(Sharding) 技术实现水平扩展。可以将数据分布到多个机器(分片)上,以处理巨大的数据量和高吞吐量的操作。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MongoDB(本章节)
    • 1. 什么是 MongoDB?
    • 2. 核心概念:与关系型数据库的对比
    • 3. MongoDB 的主要特点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档