【DB】MongoDB 安装及基于MongoDB Compass的数据管理

📚前言

MongoDB 是一款高性能、文档型 NoSQL 数据库,支持跨平台部署。以下是 Windows 10/11、macOS(Intel/Apple Silicon)、Linux(Ubuntu/CentOS) 三大平台的完整安装步骤,包含环境配置、服务启动、验证测试,适合新手快速上手。

一、前置准备

  1. 系统要求
    • Windows:64 位 Windows 10/11(32 位系统不支持 MongoDB 4.4+)
    • macOS:10.15+(Intel 或 Apple Silicon 芯片)
    • Linux:Ubuntu 18.04+/CentOS 7+(64 位)
  2. 权限:安装时需管理员权限(Windows 右键 “以管理员身份运行”,Linux/macOS 用 sudo
  3. 可选工具:MongoDB Compass(官方可视化工具,建议一起安装)

二、Windows 平台安装(推荐方式:.msi 安装包)

步骤 1:下载安装包

  1. 访问 MongoDB 官网下载页:https://www.mongodb.com/try/download/community
  2. 选择版本:推荐 Latest Stable Release(最新稳定版)
  3. 选择操作系统:Windows,系统架构:x64(默认)
  4. 下载安装包(.msi 文件,约 200MB)

步骤 2:运行安装程序

  1. 双击下载的 .msi 文件(截图版本:mongodb-windows-x86_64-8.2.1-signed.msi),弹出安装向导,点击「Next」
  2. 勾选「I accept the terms in the License Agreement」,点击「Next」
  3. 选择安装类型:
    • 「Complete」(默认,安装到 C:\Program Files\MongoDB\Server\版本号\
    • 「Custom」(自定义路径,建议不要含中文 / 空格,如 D:\Program Files\MongoDB\Server\
  4. 关键配置(核心步骤):
    • 取消勾选「Configure MongoDB as a Windows Service」(暂时不自动配置服务,后续手动配置更灵活)
      • 关键信息解读:

        • 服务安装选项:勾选了 “Install MongoDB as a Service”,即安装 MongoDB 作为系统服务,可实现开机自动启动。
        • 运行用户:选择了 “Run service as Network Service user”,以网络服务用户身份运行服务,这种方式权限适中,适合常规使用;也可选择以本地或域用户运行,需填写账户域、名称和密码。
        • 服务名称:默认 “MongoDB”,可自定义。
        • 数据与日志目录:数据目录为D:\Program Files\MongoDB\Server\8.2\data\,日志目录为D:\Program Files\MongoDB\Server\8.2\log\,均为自定义路径(非默认 C 盘路径),这种配置利于数据管理和磁盘空间规划。
    • 点击「Next」,勾选「Install MongoDB Compass」(可视化工具,新手必备,默认勾选)
    • 点击「Next」,→「Install」,等待安装完成
    • 安装后,会提示MongoDB Compass安装:
  5. 安装后,在任务管理器的服务列表中,查看相应服务:

步骤 3:手动配置环境变量(关键)

目的:让 Windows 命令行识别 mongod(服务端)和 mongo(客户端)命令

  1. 打开「此电脑」→ 右键「属性」→「高级系统设置」→「环境变量」
  2. 在「系统变量」中找到「Path」,点击「编辑」
  3. 点击「新建」,添加 MongoDB 的 bin 目录路径:
    • 默认安装路径:C:\Program Files\MongoDB\Server\8.2\bin(需替换为你的实际版本号)
    • 自定义路径:D:\Program Files\MongoDB\Server\8.2\bin(根据实际安装路径修改)
  4. 点击「确定」保存,关闭所有环境变量窗口
  5. 验证环境变量:打开新的命令提示符(CMD),输入 mongos --version,若显示版本信息,说明配置成功,类似下面界面

三、MongoDB 服务管理(启动 / 停止 / 重启)

后续需管理 MongoDB 服务时,可通过以下 2 种方式:

方式 1:图形化操作(服务窗口)

  1. 按下 Win + R,输入 services.msc,打开「服务」窗口
  2. 找到「MongoDB」服务:
    • 启动:右键 →「启动」
    • 停止:右键 →「停止」
    • 重启:右键 →「重新启动」
    • 修改启动类型:右键 →「属性」→ 启动类型(自动 / 手动 / 禁用)

方式 2:命令行操作(管理员身份)

  1. 以管理员身份打开命令提示符
  2. 执行对应命令:
    • 启动服务:net start MongoDB(服务名称需与安装时一致)
    • 停止服务:net stop MongoDB
    • 查看服务状态:sc query MongoDB

    四、MongoDB Compass 链接

    可视化工具验证(MongoDB Compass)

    1. 启动 MongoDB Compass,默认连接地址为 mongodb://localhost:27017(本地服务)
      1. 说明:
        1. 连接字符串(URI):默认显示mongodb://localhost:27017/,这是连接本地 MongoDB 服务的默认地址(端口 27017 为 MongoDB 默认端口)。
        2. 功能选项:可设置连接名称(为当前配置的数据库连接设置一个自定义名称,通过自定义名称可以快速区分不同的连接)、颜色,也可将连接设为收藏。下方还有 “高级连接选项” 可配置更多参数(如认证、SSL 等,当前未展开)。
    2. 点击「Connect」,直接连接本地 MongoDB 服务
    3. 左侧导航栏可看到所有数据库
    4. 可通过 Compass 界面执行查询、添加 / 修改 / 删除数据,适合新手操作

    五、了解MongoDB对象

    MongoDB与传统关系型数据库的对比

    传统关系型数据库(如 MySQL)MongoDBMongoDB 对象作用说明
    数据库(Database)数据库(Database)用于逻辑上隔离不同的应用数据,是数据存储的顶层容器,一个 MongoDB 实例可包含多个数据库
    表(Table)集合(Collection)存储一组相关的文档,类比表但无固定结构,无需预先定义字段,可灵活存储不同结构的文档
    行(Row)文档(Document)以 BSON(类 JSON)格式存储的单条数据记录,是 MongoDB 的基本数据单元,可包含嵌套结构、数组等,字段可动态增减
    列(Column)字段(Field)文档中的键值对,对应关系型数据库的列,但字段无需预先定义,同一集合的不同文档可包含不同字段
    索引(Index)索引(Index)用于加速查询,支持单字段、复合字段、地理空间、文本等多种索引类型,功能与关系型数据库索引一致,提升查询性能
    约束(Constraint,如主键、外键)无直接外键约束(靠应用层保障关联)、支持主键(_id 字段默认唯一)MongoDB 不强制外键约束,通过文档嵌套、引用等方式实现数据关联,_id 字段为每个文档的唯一标识,类似主键
    视图(View)视图(View)基于聚合管道定义的虚拟集合,用于封装复杂查询逻辑,功能与关系型数据库视图一致
    存储过程(Stored Procedure)无直接存储过程(可通过应用层或 MongoDB 函数实现类似逻辑)MongoDB 无内置存储过程,复杂业务逻辑可通过应用代码或 MongoDB 的聚合管道、函数来实现

    关键差异与新手理解要点

    1. 结构灵活性:关系型数据库是结构化的,表需预先定义列结构;MongoDB 是半结构化的,集合无固定结构,文档可动态增减字段,适合业务需求频繁变化的场景。

    2. 数据关联方式:关系型数据库通过外键强制关联表间数据;MongoDB 无强制外键,可通过文档嵌套(将关联数据直接嵌入文档)或引用(存储关联文档的_id)实现关联,更灵活但需应用层保障数据一致性。

    3. 扩展能力:关系型数据库表结构变更(如新增列)需执行 DDL 操作,可能影响业务;MongoDB 集合新增字段无需修改结构,文档可直接包含新字段,扩展性更强。

    通过以上比对,新手可快速建立对 MongoDB 数据模型的认知,理解其 “文档优先、灵活无模式” 的设计理念,从而更高效地使用 MongoDB 进行数据存储与管理。

    六、数据库与集合管理

    6.1 创建新数据库

    1. 点击左侧导航栏的 +(新建数据库按钮)。
    2. 输入 Database Name(如 my_mongo_db),输入 Collection Name(如 users),点击 Create Database
      1. 说明:
        1. Database Name:输入数据库名称(如示例中的my_mongo_db),是数据的顶层逻辑容器,用于隔离不同应用的数据。

        2. Collection Name:输入集合名称(需手动填写),集合类比关系型数据库的 “表”,用于存储一组文档,无固定字段结构

        3. Time-Series:勾选后可创建时间序列集合,专为高效存储时序数据(如传感器读数、日志)设计,支持按时间维度的快速查询与存储优化。
        4.  高级配置
          1. Use Custom Collation:自定义字符串排序规则,可指定语言特定的比较规则(如大小写、重音标记的处理),适用于多语言业务场景。
          2. Clustered Collection(MongoDB 5.3 + 特性):勾选后创建集群集合,文档按主键顺序物理存储,大幅提升范围查询(如按 ID 区间查询)的性能。

    6.2 单独创建集合(类比关系型数据库的 “表”)

    1. 点击目标数据库(如 my_mongo_db),进入数据库详情页。
    2. 点击 Create Collection,输入 Collection Name(如 products),点击 Create

    七、数据 CRUD 操作(增删改查)

    47.1 插入数据(Create)

    1. 进入目标集合(如 my_mongo_db.users),点击 INSERT DOCUMENT
    2. 在 JSON 编辑器中输入文档(示例):

      json

      { "name": "张三", "age": 25, "email": "zhangsan@example.com" }
      
    3. 点击 INSERT,完成数据插入。
    4. 重复上述过程,在增加一条
    { "name": "李四", "age": 18, "email": "lisi@example.com" }

    7.2 查询数据(Read)

     MongoDB Compass 的集合查询配置界面(以my_mongo_db数据库的users集合为例),用于精细化控制数据查询逻辑。

    ✍️以下是各模块功能说明:

    1. 查询条件区域

    • Type a query:输入 JSON 格式的查询条件(如{ "age": { "$gt": 25 } }表示查询年龄大于 25 的用户),支持 MongoDB 所有查询操作符。

    • 辅助功能

      • Generate query:自动生成基础查询语句,降低新手学习成本。

      • Explain:分析查询执行计划,用于性能调优(如查看是否命中索引)。

      • Find:执行配置好的查询条件,展示结果。

    2. 投影(Project)

    用于控制查询结果中字段的包含 / 排除,格式为{ "字段名": 0 | 1 }

    • 0:排除该字段;1:包含该字段(默认包含所有字段)。

    • 示例:{ "email": 0 }表示查询结果不返回email字段,减少数据传输量。

    3. 排序(Sort)

    定义结果集的排序规则,格式为{ "字段名": 1 | -1 }

    • 1:升序;-1:降序。

    • 支持复合排序,如[["age", 1], ["name", -1]](先按年龄升序,再按姓名降序)。

    4. 排序规则(Collation)

    用于字符串的语言特定排序,默认{ "locale": "simple" }(简单排序)。

    • 可修改为"zh-CN"(中文排序)、"en-US"(英文排序)等,适配多语言业务场景。

    5. 分页与索引优化

    • Skip/Limit:实现分页查询。Skip: N表示跳过前 N 条数据,Limit: N表示仅返回 N 条数据。

    • Index Hint:强制查询使用指定索引(如{ "age": -1 }),用于性能调优,确保查询命中最优索引。

    具体操作示例如下。


    7.2.1 基础查询
    1. 点击集合页面的 FILTER,输入查询条件(示例:查询年龄大于 20 的用户):

      json

      { "age": { "$gt": 20 } }
      
    2. 点击 APPLY,显示查询结果。
    7.2.2 排序与分页
    • 排序:点击 SORT,输入排序字段(示例:按年龄升序):

      json

      { "age": 1 }
      
      1 为升序,-1 为降序)
    • 分页:在 SKIP(跳过前 N 条)和 LIMIT(返回 N 条)中输入数值(如 SKIP: 0, LIMIT: 10)。

    7.3 数据管理

    书本划过文档,可以显示操作按钮,如下:

    以下是各按钮的作用说明:

    按钮图标功能名称作用解读
    铅笔图标编辑文档点击后进入文档编辑模式,支持以 “树状视图” 或 “JSON 视图” 修改字段值,完成后保存即可更新文档内容。
    双文档重叠图标复制文档复制当前文档的完整结构与数据,生成一份新的文档副本,可用于快速创建相似结构的文档。
    剪贴板图标复制文档 ID复制当前文档的_id字段值(MongoDB 文档的唯一标识),便于在查询、数据关联等场景中引用该文档。
    垃圾桶图标删除文档点击后弹出确认框,确认后删除当前文档,需谨慎操作。

    相关操作示例如下。

    1)更新数据(Update)
    1. 选中目标文档,点击 EDIT
    2. 选择编辑模式(Tree View 可视化修改 / JSON View 直接编辑 JSON),修改字段值(如将 age 改为 26)。
    3. 点击 REPLACE,保存更改。
    2)删除数据(Delete)
    1. 选中目标文档,点击 DELETE
    2. 在确认弹窗中点击 DELETE,完成删除。

    八、索引管理

    索引可提升查询性能,操作步骤如下:

    1. 进入目标集合,点击 INDEXES
    2. 点击 CREATE INDEX,配置索引:
      • Key:选择字段(如 name),设置排序方向(1 升序,-1 降序)。
      • 可选配置复合索引(多个字段组合,如 { "name": 1, "age": -1 })、唯一索引(勾选 “Unique”,确保字段值唯一)。
    3. 点击 CREATE INDEX,完成创建。

    九、数据导入与导出

    9.1 导入 JSON/CSV 数据

    1. 进入目标集合,点击 ADD DATA → Import JSON or CSV file 选择文件,点击 Open
    2. 配置字段映射(CSV 文件需指定列与 MongoDB 字段的对应关系),点击 IMPORT

    9.2 导出数据

    1. 进入目标集合,点击 EXPORT query results 或者EXPORT the full collection
    2. 选择导出格式(JSON 或 CSV)。
    3. 点击 EXPORT,选择保存路径完成导出。

    十、聚合查询(复杂统计)

    聚合用于分组、求和等复杂数据统计,操作步骤:

    1. 进入目标集合,点击 AGGREGATIONS
    2. 点击 CREATE PIPELINE,添加阶段(Stage)(示例:统计各年龄段用户数):
      • 阶段 1($group):

        json

        { "_id": "$age", "count": { "$sum": 1 } }
        
      • 阶段 2($sort):

        json

        { "count": -1 }
        
    3. 点击 Run,查看聚合结果。

    十一、常见问题排查

    1. 启动服务失败(Windows)

    • 报错「Data directory C:\data\db not found」:未创建数据目录,按步骤 4 手动创建
    • 报错「端口 27017 被占用」:关闭占用端口的程序(如其他 MongoDB 进程),或指定其他端口启动:mongod --port 27018 --dbpath C:\data\db

    2. 命令行无法识别 mongosh

    • 从 MongoDB 6.0 版本开始,mongosh(MongoDB Shell)不再随服务端安装包一起安装,需要单独下载安装。以下是解决方法:

      下载并安装 mongosh

    • 访问 MongoDB Shell 下载页:https://www.mongodb.com/try/download/shell
    • 选择平台为 “Windows 64-bit (8.1+) (MSI)”,点击 “Download”
    • 双击下载的安装包,按照提示完成安装

    参考

    MongoDB 官方文档:https://www.mongodb.com/docs/manual/

    安装和配置MongoDB Compass,您可以按照以下步骤进行操作: 1. 下载MongoDB Compass:首先,您需要前往MongoDB官方网站(https://www.mongodb.com/try/download/compass)下载MongoDB Compass的可执行文件。根据您的操作系统选择适当的版本(Windows、macOS或Linux)。 2. 安装MongoDB Compass:下载完成后,运行安装程序并按照向导的指示完成安装。在安装过程中,您可以选择自定义安装选项,如更改安装路径等。 3. 启动MongoDB Compass安装完成后,您可以在应用程序菜单中找到MongoDB Compass,并通过双击图标来启动它。如果您使用的是Windows操作系统,也可以通过开始菜单中的程序快捷方式启动它。 4. 配置连接:启动MongoDB Compass后,您将看到一个连接窗口。在这里,您需要提供MongoDB数据库的连接信息。 - 在“Hostname”字段中,输入MongoDB服务器的地址。如果您在本地运行MongoDB数据库,则为“localhost”或“127.0.0.1”。 - 在“Port”字段中,输入MongoDB服务器的端口号。默认情况下,MongoDB使用27017端口。 - 如果您的MongoDB服务器需要身份验证,请在相应字段中提供用户名和密码。 - 最后,点击“Connect”按钮来建立与MongoDB服务器的连接。 5. 浏览和管理数据:连接成功后,您将看到MongoDB Compass的主界面。您可以使用它来浏览和管理MongoDB数据库中的数据。您可以选择数据库和集合,并执行各种操作,如查看文档、插入新文档、更新和删除现有文档等。 这是安装和配置MongoDB Compass的基本步骤。根据您的需求,您还可以进行更高级的配置,如SSL连接、SSH隧道等。有关更多详细信息,请参阅MongoDB Compass的官方文档。
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    正经教主

    有钱捧个钱场,没钱捧个人场👌

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值