如何下载和安装 MongoDB (附基础介绍) – wiki基地


MongoDB 下载与安装完全指南:从入门到运行 (附基础介绍)

引言:步入 NoSQL 世界 – 初识 MongoDB

在当今数据爆炸的时代,传统的关系型数据库(如 MySQL, PostgreSQL)虽然强大且稳定,但在处理非结构化、半结构化数据,应对高并发、海量数据存储以及追求开发敏捷性等方面,有时会显得力不从心。正是在这样的背景下,NoSQL(Not Only SQL)数据库应运而生,并迅速发展。

MongoDB 作为 NoSQL 数据库领域的佼佼者,是一种基于分布式文件存储的开源数据库系统。它以其灵活的数据模型、高可扩展性、高性能以及易用性,赢得了全球众多开发者和企业的青睐。与传统关系型数据库不同,MongoDB 存储的数据结构非常类似于 JSON,被称为 BSON(Binary JSON)。这种文档(Document)存储方式,使得数据的存储更加自然,尤其适用于处理文档、对象、甚至非结构化数据。

本篇文章旨在为您提供一份详尽的 MongoDB 下载与安装指南。无论您是开发者、系统管理员,还是仅仅对 MongoDB 感兴趣的初学者,本文都将带您一步步完成 MongoDB 的安装过程,并在此之前,为您提供必要的背景知识,帮助您更好地理解 MongoDB。

为什么选择 MongoDB?

在深入安装之前,让我们先简单了解一下 MongoDB 的主要优势:

  1. 灵活的数据模型(Schema-less): MongoDB 是一个文档数据库,存储的数据是 BSON 格式的文档。同一个集合(Collection,类似于关系型数据库的表)中的文档可以拥有不同的结构。这种灵活性使得数据模型的演变更加容易,特别适合快速迭代的开发项目。
  2. 高可扩展性: MongoDB 支持水平扩展(Sharding)。通过分片技术,可以将数据分布到多个服务器上,从而处理更大的数据集和更高的吞吐量。这是其区别于许多传统数据库的核心优势之一。
  3. 高性能: MongoDB 支持内存计算,可以将热数据存储在内存中,从而显著提升读写性能。此外,它还支持丰富的索引类型(如单键索引、复合索引、地理空间索引、全文索引等),可以极大地优化查询效率。
  4. 易用性: MongoDB 使用类似 JavaScript 的 Shell 命令,对开发者友好。其文档结构的存储方式与面向对象编程语言中的对象模型天然契合,降低了开发的复杂度。
  5. 丰富的功能: MongoDB 支持复杂的查询操作(包括聚合框架 Aggregation Framework),支持事务(在最新版本中),支持文件存储(GridFS),以及强大的管理工具。
  6. 社区活跃与生态成熟: MongoDB 拥有庞大的用户群体和活跃的社区,提供了丰富的驱动程序(Drivers)支持各种主流编程语言,以及各种管理和开发工具。

了解了这些优势,相信您已经对 MongoDB 产生了浓厚的兴趣。接下来,我们将聚焦于如何将其安装到您的计算机上。

安装前的准备

在开始下载和安装 MongoDB 之前,您需要确保您的系统满足以下基本要求:

  1. 操作系统: MongoDB 官方支持多种操作系统,包括 Windows、macOS 和各种 Linux 发行版(如 Ubuntu, Debian, CentOS, RHEL, Fedora 等)。请根据您的操作系统选择对应的安装方式。确保您的操作系统版本在 MongoDB 支持的范围内。通常,最新的 MongoDB 版本会要求较新的操作系统版本。
  2. 硬件资源:
    • 内存 (RAM): 虽然 MongoDB 可以在内存较小的环境运行,但为了获得较好的性能,建议至少 2GB 内存。实际需求取决于您存储的数据量和查询复杂度。
    • 磁盘空间: MongoDB 存储数据需要磁盘空间。请确保您的安装目录和数据存储目录有足够的空间。数据量越大,所需的空间越多。生产环境建议使用 SSD 硬盘以获得更好的性能。
    • CPU: 根据您的负载需求选择合适的 CPU。
  3. 网络连接: 下载安装包和可能的软件源配置需要互联网连接。
  4. 系统权限: 您需要具有管理员权限(Windows)或 root/sudo 权限(Linux/macOS)才能进行安装和配置操作。
  5. 基础命令行知识: 部分安装步骤可能需要使用命令行终端进行操作(尤其是在 macOS 和 Linux 系统上)。

确认这些条件都满足后,我们就可以开始下载 MongoDB 了。

下载 MongoDB Community Server

MongoDB 提供了两个主要版本:Community Server(社区版)和 Enterprise Server(企业版)。社区版是免费且开源的,包含了大多数核心功能,适合开发、测试以及许多生产环境的应用。企业版则提供了额外的企业级功能,如高级安全特性、更强的监控工具和商业支持。对于大多数用户而言,社区版是足够的。

我们将重点介绍如何下载社区版。

步骤 1:访问 MongoDB 官方下载页面

打开您的 Web 浏览器,访问 MongoDB 官方网站的下载页面。通常是:

https://www.mongodb.com/try/download/community

步骤 2:选择您的操作系统和版本

在下载页面上,您会看到不同的选项。请根据您的计算机环境进行选择:

  • Version: 选择您想要安装的 MongoDB 版本。通常建议选择最新的稳定版本,它包含了最新的功能和性能优化,并修复了已知的 Bug。但有时,您可能需要选择特定版本以满足项目兼容性要求。
  • Platform: 选择您的操作系统,例如 Windows, macOS, Linux (Amazon Linux 2, Debian, RHEL, Ubuntu, SLES)。
  • Package: 根据操作系统平台,这里可能会有不同的包类型。
    • Windows: MSI
    • macOS: TGZ archive 或通过 Homebrew (推荐)
    • Linux: RPM 或 DEB 包,或 TGZ archive

选择好您的选项后,点击下载按钮。下载过程可能需要一些时间,具体取决于您的网络速度。

下载完成后,您会得到一个安装文件(如 .msi 文件在 Windows 上,或 .tgz 文件在 macOS/Linux 上),或者您将使用包管理器进行安装(这是 macOS 和 Linux 上的主流和推荐方式)。

接下来,我们将分别针对不同的操作系统,详细介绍安装过程。

在 Windows 上安装 MongoDB Community Server

Windows 上的安装通常通过 MSI 安装包进行,过程相对简单直观。

步骤 1:运行 MSI 安装程序

找到您下载的 .msi 文件,双击运行它。您可能会看到一个安全警告,点击“运行”或“是”。

步骤 2:接受许可协议

阅读并接受 MongoDB Community Server 的许可协议。点击“Next”。

步骤 3:选择安装类型

您会看到两种安装类型:

  • Complete (完整安装): 安装所有组件,包括服务器、Shell 工具、导入/导出工具等。这是推荐的选项。
  • Custom (自定义安装): 允许您选择要安装的组件和安装路径。如果您有特定的需求,可以选择自定义,但对于初学者,选择完整安装更方便。

选择“Complete”,然后点击“Next”。

步骤 4:配置 MongoDB Service (关键步骤)

这一步非常重要。您可以选择是否将 MongoDB 安装为 Windows 服务。强烈建议将其安装为服务,这样 MongoDB 可以在系统启动时自动运行,并且更容易管理(启动、停止、重启)。

  • Install MongoDB as a Service (推荐): 勾选此选项。
    • Service Name: 默认是 MongoDB,您可以根据需要更改,但通常保留默认即可。
    • Data Directory: 这是 MongoDB 存储数据文件的位置。默认是 C:\Program Files\MongoDB\Server\<version>\dataC:\data\db注意: 在较新的安装程序中,默认路径通常是 C:\Program Files\MongoDB\Server\<version>\data。如果您选择默认路径,请确保该目录存在且有写入权限。或者,您可以指定一个不同的路径,例如 D:\MongoDB\data强烈建议使用一个专用的非系统盘路径来存储数据,并确保路径中不包含空格或特殊字符,并具有足够的磁盘空间和写入权限。
    • Log Directory: 这是 MongoDB 存储日志文件的位置。默认通常是 C:\Program Files\MongoDB\Server\<version>\logC:\data\log。同样,建议使用一个专用的、有写入权限的路径。
    • Run Service as Network Service User (推荐): 使用 Windows 内建的 Network Service 用户运行服务,这是一种安全的选择。
    • Run Service as Local or Domain User: 如果您需要更精细的权限控制或集成到域环境中,可以选择此项,并提供相应的用户凭据。对于大多数个人用户或开发环境,选择 Network Service User 即可。

配置好这些选项后,点击“Next”。

步骤 5:安装 MongoDB Compass (可选)

MongoDB Compass 是一个图形化用户界面 (GUI) 工具,用于管理和可视化 MongoDB 数据。它非常方便。强烈建议勾选“Install MongoDB Compass”进行安装。点击“Next”。

步骤 6:开始安装

点击“Install”按钮开始安装。安装过程可能需要几分钟。如果系统弹出用户账户控制 (UAC) 窗口,请点击“是”允许安装。

步骤 7:完成安装

安装完成后,点击“Finish”。

步骤 8:验证安装并添加到系统环境变量 (关键步骤)

安装完成后,您可以通过以下方式验证:

  1. 检查服务: 打开“服务”应用程序(在 Windows 搜索框输入 services.msc 并运行)。查找名为 MongoDB (或您在安装时指定的名称) 的服务。确保其状态是“正在运行”且启动类型是“自动”。如果服务没有启动,右键点击它并选择“启动”。
  2. 检查程序文件: 检查您选择的安装目录下是否存在 MongoDB 的文件结构。

为了方便在命令行中运行 MongoDB 的工具(如 mongoshmongod),您需要将 MongoDB 的 bin 目录添加到系统的 PATH 环境变量中。

  • 右键点击“此电脑”(或“计算机”),选择“属性”。
  • 点击“高级系统设置”。
  • 在“系统属性”窗口中,点击“环境变量”按钮。
  • 在“系统变量”列表中,找到名为 Path 的变量,选中它,然后点击“编辑”。
  • 点击“新建”,然后输入 MongoDB 的 bin 目录的完整路径。例如,如果您安装在默认位置,路径可能是 C:\Program Files\MongoDB\Server\<version>\bin (请将 <version> 替换为您安装的具体版本号,例如 6.0)。
  • 点击“确定”关闭所有窗口。

步骤 9:连接到 MongoDB

打开一个新的命令提示符或 PowerShell 窗口(关闭并重新打开是确保环境变量生效的最佳方式)。输入以下命令:

bash
mongosh

如果一切顺利,您将看到 MongoDB Shell 的提示符 (通常是 >),表示您已成功连接到本地运行的 MongoDB 服务器。

您可以运行一些简单的命令来验证:

javascript
show dbs; // 显示所有数据库
use admin; // 切换到 admin 数据库
db.runCommand({ ping: 1 }); // 运行一个ping命令,检查服务器是否响应

输入 exit 并按回车键退出 Shell。

步骤 10:手动启动和停止 MongoDB (如果未安装为服务)

如果您在步骤 4 中选择不安装为服务,您需要手动启动 MongoDB 服务器。

  • 打开命令提示符或 PowerShell。
  • 如果您没有配置 PATH 变量,需要切换到 MongoDB bin 目录:cd "C:\Program Files\MongoDB\Server\<version>\bin"
  • 确保您创建了数据目录(例如 C:\data\db),如果不存在,需要手动创建:mkdir C:\data\db
  • 运行以下命令启动 MongoDB 服务器:

    bash
    mongod --dbpath C:\data\db

    (将 C:\data\db 替换为您实际的数据目录路径)

    服务器启动后,命令窗口会显示很多日志信息,并且窗口会保持打开状态。不要关闭此窗口,否则服务器会停止。

  • 要连接到手动启动的服务器,打开另一个命令提示符窗口,并运行 mongosh

  • 要停止服务器,回到运行 mongod 的命令窗口,按 Ctrl+C

Windows 安装故障排除提示:

  • 服务无法启动: 检查日志文件(在配置的 Log Directory 中)寻找错误信息。常见原因是数据目录或日志目录不存在、没有写入权限,或者端口(默认 27017)被其他程序占用。
  • mongosh 命令找不到: 确认您已将 MongoDB 的 bin 目录正确添加到 PATH 环境变量中,并在修改环境变量后打开了新的命令窗口。
  • 连接被拒绝: 确认 MongoDB 服务正在运行。检查防火墙设置,确保允许连接到默认端口 27017。

在 macOS 上安装 MongoDB Community Server

在 macOS 上,推荐使用 Homebrew 包管理器来安装 MongoDB,这非常方便且易于管理。

步骤 1:安装 Homebrew (如果尚未安装)

打开终端 (Terminal) 应用程序。如果您的 Mac 上没有安装 Homebrew,运行以下命令进行安装(此过程需要网络连接):

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

按照屏幕上的提示完成安装。安装完成后,可能需要运行 brew doctorbrew update

步骤 2:通过 Homebrew 安装 MongoDB Community Server

MongoDB 在 Homebrew 中有一个官方的 Tap (源)。首先,您需要 Tap 这个源:

bash
brew tap mongodb/brew

接下来,安装 MongoDB Community Server。请注意 Homebrew 安装的 MongoDB 版本命名规则,通常会包含版本号,例如 [email protected]mongodb-community (取决于您的macOS版本和Homebrew配置)。 您可以在 MongoDB Homebrew Tap 的 GitHub 页面或通过 brew search mongodb-community 命令查找确切的包名。假设我们要安装 6.0 版本:

bash
brew install [email protected]

Homebrew 会自动下载并安装 MongoDB 及其依赖。这个过程可能需要一些时间。

安装完成后,Homebrew 会提示您如何启动 MongoDB 服务。通常是使用 brew services 命令。

步骤 3:启动 MongoDB 服务

使用 Homebrew Services 启动 MongoDB,并设置为开机自启:

bash
brew services start [email protected]

(请将 @6.0 替换为您安装的实际版本号)

要检查服务状态:

bash
brew services list

您应该看到 mongodb-community 服务的状态是 started

步骤 4:连接到 MongoDB

MongoDB 的 Shell 工具 mongosh 也会随 Homebrew 安装。打开一个新的终端窗口,运行以下命令连接到本地运行的 MongoDB 服务器:

bash
mongosh

您将看到 MongoDB Shell 的提示符。

步骤 5:验证安装

在 MongoDB Shell 中,运行基本命令验证:

javascript
show dbs;
db.runCommand({ ping: 1 });

输入 exit 退出 Shell。

您还可以检查 MongoDB 的版本:

bash
mongosh --version

以及 mongod 服务器的版本:

bash
mongod --version

步骤 6:停止 MongoDB 服务 (如果需要)

如果您想停止 MongoDB 服务:

bash
brew services stop [email protected]

(请将 @6.0 替换为您安装的实际版本号)

macOS 安装故障排除提示:

  • Homebrew 安装问题: 确保您的网络连接正常,并且遵循 Homebrew 官方的安装步骤。
  • brew tapbrew install 失败: 检查网络连接,运行 brew update,并确保您的 Homebrew 是最新的。查看错误信息,可能是依赖问题或权限问题。
  • 服务启动失败: 查看 Homebrew Services 的输出信息。Homebrew 通常会将服务的日志信息放在特定位置,查找日志文件(通常在 /usr/local/var/log/mongodb 或类似路径)可以帮助诊断问题。权限问题是常见原因。
  • mongosh 命令找不到: Homebrew 通常会自动将安装的程序链接到 /usr/local/bin/opt/homebrew/bin (Apple Silicon Mac),这些目录通常已在系统的 PATH 中。如果找不到命令,检查您的 PATH 环境变量。

在 Linux 上安装 MongoDB Community Server

在 Linux 上,推荐使用系统自带的包管理器(如 apt 在 Debian/Ubuntu 上,yumdnf 在 RHEL/CentOS/Fedora 上)来安装 MongoDB,这是最方便且符合 Linux 生态习惯的方式。MongoDB 官方为这些主流发行版提供了官方软件源。

我们将分别介绍在基于 Debian/Ubuntu 和基于 RHEL/CentOS/Fedora 的系统上的安装步骤。

重要提示: 以下命令通常需要 sudo 权限。

在 Debian 或 Ubuntu 上安装

步骤 1:导入 MongoDB 公钥

为了使用 MongoDB 的官方软件源,您需要导入用于验证软件包的 GPG 公钥:

bash
wget -qO - https://www.mongodb.org/static/pgp/server-<version>.asc | sudo apt-key add -

注意: 请将 <version> 替换为您要安装的 MongoDB 版本系列号(例如 6.0)。您可以在 MongoDB 官方安装指南页面找到对应版本的公钥 URL。例如,对于 6.0 版本,命令可能是:
bash
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -

如果 apt-key add 提示 Deprecated,或者您的系统较新,推荐使用新的方式导入 key:
bash
wget -qO- https://www.mongodb.org/static/pgp/server-6.0.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/mongodb-6.0.gpg >/dev/null

(同样,将 6.0 替换为实际版本)

步骤 2:为 MongoDB 创建列表文件

根据您的 Ubuntu 或 Debian 版本,创建一个 /etc/apt/sources.list.d/mongodb-org-<version>.list 文件,其中包含 MongoDB 软件源的信息。

  • Ubuntu 22.04 (Jammy):
    bash
    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
  • Ubuntu 20.04 (Focal):
    bash
    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
  • Debian 11 (Bullseye):
    bash
    echo "deb http://repo.mongodb.org/apt/debian bullseye/mongodb-org/6.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

请根据您实际的操作系统版本和 MongoDB 版本修改上述命令中的 jammy, focal, bullseye6.0。您可以在 MongoDB 官方文档中找到针对您特定系统和版本的精确配置。

步骤 3:更新 apt 软件包列表

bash
sudo apt update

步骤 4:安装 MongoDB

安装最新版本的 mongodb-org 包。这将安装 MongoDB 服务器、Shell、工具等组件。

bash
sudo apt install -y mongodb-org

如果您想安装特定版本,可以这样做:

bash
sudo apt install -y mongodb-org=<version> mongodb-org-server=<version> mongodb-org-shell=<version> mongodb-org-mongos=<version> mongodb-org-tools=<version>

(例如,mongodb-org=6.0.11,您需要查找精确的版本号)

为了防止未来的 apt upgrade 命令意外升级 MongoDB,您可以“hold”住软件包版本:

bash
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

步骤 5:启动 MongoDB 服务

安装完成后,MongoDB 服务可能不会自动启动。使用 systemctl 命令启动服务:

bash
sudo systemctl start mongod

步骤 6:验证 MongoDB 服务状态

检查服务是否正在运行:

bash
sudo systemctl status mongod

您应该看到 active (running) 字样。

步骤 7:设置 MongoDB 开机自启

bash
sudo systemctl enable mongod

步骤 8:连接到 MongoDB

现在,您可以使用 mongosh 命令连接到本地运行的 MongoDB 服务器:

bash
mongosh

在 Shell 中验证安装:

javascript
show dbs;
db.runCommand({ ping: 1 });

输入 exit 退出 Shell。

在 RHEL, CentOS, Fedora 或 Amazon Linux 上安装

步骤 1:为 MongoDB 创建 .repo 文件

使用您喜欢的文本编辑器(如 nanovim)创建一个名为 /etc/yum.repos.d/mongodb-community.repo 的文件:

bash
sudo nano /etc/yum.repos.d/mongodb-community.repo

将以下内容粘贴到文件中,并根据您的系统版本和 MongoDB 版本进行调整:

  • RHEL/CentOS 8, Rocky Linux 8, AlmaLinux 8:
    ini
    [mongodb-org-6.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc

    ($releasever 会被 yum/dnf 自动替换为您的主要版本号)

  • Fedora 36/37/38:
    ini
    [mongodb-org-6.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/fedora/$releasever/mongodb-org/6.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc

  • Amazon Linux 2:
    ini
    [mongodb-org-6.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/6.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc

请根据您实际的操作系统和 MongoDB 版本修改 $releasever6.0。同样,请查阅 MongoDB 官方文档获取最准确的配置。

保存并关闭文件。

步骤 2:安装 MongoDB

使用 yum (CentOS/RHEL/Amazon Linux) 或 dnf (Fedora/较新的 CentOS/RHEL) 命令安装 MongoDB。

使用 yum:

bash
sudo yum install -y mongodb-org

使用 dnf:

bash
sudo dnf install -y mongodb-org

要安装特定版本,请指定版本号:

bash
sudo yum install -y mongodb-org-6.0.11 mongodb-org-server-6.0.11 mongodb-org-shell-6.0.11 mongodb-org-mongos-6.0.11 mongodb-org-tools-6.0.11

(请使用实际存在的版本号)

安装后,为了防止意外升级,您可以将软件包锁定:

“`bash
sudo yum versionlock add mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools

或者使用 dnf

sudo dnf versionlock add mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools

“`

步骤 3:启动 MongoDB 服务

bash
sudo systemctl start mongod

步骤 4:验证 MongoDB 服务状态

bash
sudo systemctl status mongod

您应该看到 active (running) 字样。

步骤 5:设置 MongoDB 开机自启

bash
sudo systemctl enable mongod

步骤 6:连接到 MongoDB

bash
mongosh

在 Shell 中验证安装:

javascript
show dbs;
db.runCommand({ ping: 1 });

输入 exit 退出 Shell。

Linux 安装故障排除提示:

  • 导入公钥失败: 检查网络连接,确保 URL 正确。旧版本的系统可能需要安装 dirmngr
  • 创建列表/repo 文件失败: 检查文件路径和名称是否正确,以及是否有写入权限 (sudo 是否正确使用)。检查文件内容是否复制正确,特别是 URL 和版本号。
  • apt update / yum update / dnf update 失败: 检查 .list.repo 文件中的 URL 是否正确,网络是否正常。
  • 安装失败: 查看终端输出的错误信息。可能是依赖未满足,或者找不到指定版本。确保您选择了适用于您操作系统的正确源和版本。
  • 服务启动失败: 这是最常见的问题。使用 sudo systemctl status mongod 查看服务状态和最近的日志信息。更详细的日志通常在 /var/log/mongodb/mongod.log 文件中,使用 sudo tail /var/log/mongodb/mongod.log 查看日志尾部,寻找错误信息。常见原因包括:
    • 数据目录 (/var/lib/mongodb) 或日志目录 (/var/log/mongodb) 不存在或权限不足。
    • 端口 27017 被占用。
    • SELinux 或 AppArmor 安全策略阻止了 MongoDB 进程。您可能需要配置这些安全策略或暂时禁用它们进行测试(不推荐在生产环境禁用)。
    • 配置文件 (/etc/mongod.conf) 中存在语法错误或无效配置。
  • mongosh 命令找不到: 确认 mongodb-org-shellmongodb-org-tools 包已成功安装,并且 /usr/bin 目录(或其他安装位置的 bin 目录)在您的 PATH 环境变量中。包管理器安装通常会自动处理 PATH。
  • 连接被拒绝: 确认 mongod 服务正在运行。检查系统防火墙(如 ufwfirewalld),确保允许外部连接到 27017 端口(如果您打算从其他机器连接)。默认配置下,MongoDB 只监听本地连接 (127.0.0.1),这对于开发环境是安全的。如果需要从外部访问,您需要修改 /etc/mongod.conf 文件中的 bindIp 设置。

安装后的基本配置

虽然默认配置下 MongoDB 已经可以运行,但了解一些基本的配置选项是很重要的,尤其是在生产环境中。MongoDB 的主要配置文件通常位于:

  • Linux: /etc/mongod.conf
  • Windows: 通常在安装目录下 (C:\Program Files\MongoDB\Server\<version>\bin\mongod.cfg),或者安装时指定的位置。
  • macOS (Homebrew): 配置文件路径通常在 Homebrew 安装信息中提供,可能在 /usr/local/etc/mongod.conf/opt/homebrew/etc/mongod.conf

使用文本编辑器打开这个文件,您会看到类似 YAML 格式的配置项。一些重要的配置项包括:

  • systemLog.path: 指定日志文件的位置。
  • storage.dbPath: 指定数据文件的位置。
  • net.port: 指定 MongoDB 监听的端口(默认 27017)。
  • net.bindIp: 指定 MongoDB 监听的网络接口 IP 地址。默认可能是 127.0.0.1 (只允许本地连接)。如果您需要从其他机器访问,可以修改为服务器的内网 IP,或 0.0.0.0 (监听所有接口,在生产环境谨慎使用,通常需要结合防火墙和认证授权)。

修改配置文件后,需要重启 MongoDB 服务使更改生效。

  • Linux/macOS (使用 systemctl/brew services):
    bash
    sudo systemctl restart mongod # Linux
    brew services restart mongodb-community@<version> # macOS
  • Windows (作为服务):
    打开服务管理器,找到 MongoDB 服务,右键点击并选择“重启”。

MongoDB 基本概念介绍

安装并成功连接到 MongoDB 后,您就进入了它的世界。以下是一些需要了解的核心概念:

  • 数据库 (Database): MongoDB 中的数据库类似于关系型数据库中的数据库。它是集合的物理容器。一个 MongoDB 实例可以包含多个数据库。
  • 集合 (Collection): 集合是文档的组。它类似于关系型数据库中的表。集合存储一组相关的文档。与表不同的是,集合是无模式的(schema-less),即集合中的文档可以有不同的字段结构。
  • 文档 (Document): 文档是 MongoDB 中的核心数据单元。它是一个由键值对组成的结构,非常类似于 JSON 对象。例如:
    json
    {
    "_id": ObjectId("..."), // 唯一标识符,MongoDB自动生成
    "name": "张三",
    "age": 30,
    "city": "北京",
    "tags": ["编程", "旅游"],
    "contact": {
    "email": "[email protected]",
    "phone": "138..."
    }
    }

    文档中的值可以是各种数据类型,包括字符串、数字、布尔值、数组、内嵌文档等。
  • BSON (Binary JSON): MongoDB 实际上存储的是 BSON 格式的数据。BSON 是 JSON 的二进制表示,它包含 JSON 没有的数据类型(如 Date, Binary data, ObjectId 等),并且更适合存储和遍历。
  • 字段 (Field): 文档中的键值对的键,类似于关系型数据库的列名。
  • 内嵌文档 (Embedded Document): 文档中包含的另一个文档,用于表示复杂结构或一对一/一对多关系,无需单独的表连接。
  • 主键 (_id): 每个 MongoDB 文档都有一个唯一的 _id 字段,作为其主键。如果插入文档时没有指定 _id,MongoDB 会自动生成一个 ObjectId 作为 _id

通过 mongosh,您可以使用 JavaScript 语法与数据库交互。例如:

  • use mydatabase; : 切换到名为 mydatabase 的数据库。如果该数据库不存在,第一次向其中写入数据时会自动创建。
  • db.createCollection("mycollection"); : 创建一个名为 mycollection 的集合(通常不需要手动创建,第一次插入文档时会自动创建)。
  • db.mycollection.insertOne({ name: "Alice", age: 25 }); : 向 mycollection 集合插入一个文档。
  • db.mycollection.find(); : 查询 mycollection 集合中的所有文档。
  • db.mycollection.find({ age: { $gt: 20 } }); : 查询年龄大于 20 的文档。

这些只是 MongoDB 操作的冰山一角,但足以让您开始探索。

下一步做什么?

成功安装 MongoDB 只是开始。为了真正利用其强大功能,您可以继续学习:

  • MongoDB Shell (mongosh): 熟悉 Shell 的基本命令和查询语法。
  • CRUD 操作: 深入学习文档的创建 (Create)、读取 (Read)、更新 (Update) 和删除 (Delete) 操作。
  • 索引 (Indexing): 学习如何创建和使用索引来优化查询性能。
  • 聚合框架 (Aggregation Framework): 学习如何使用强大的聚合管道进行数据转换和分析。
  • 驱动程序 (Drivers): 学习如何在您喜欢的编程语言(如 Python, Node.js, Java, Go 等)中使用 MongoDB 官方提供的驱动程序连接和操作数据库。
  • 复制集 (Replica Sets): 学习如何设置复制集以实现数据的高可用性和故障转移。
  • 分片 (Sharding): 学习如何配置分片以处理超大数据集和高吞吐量。
  • 安全 (Security): 学习如何配置用户认证和授权,以及网络安全设置。
  • 监控与备份: 学习如何监控 MongoDB 的运行状态以及如何进行数据备份和恢复。

MongoDB 官方文档是学习这些内容的最佳资源。

结论

恭喜您!通过本文的指导,您已经成功下载并安装了 MongoDB Community Server,并对 MongoDB 的基本概念有了初步了解。无论是为了个人学习、开发项目,还是为部署生产环境打基础,这都是迈向 NoSQL 世界的重要一步。

MongoDB 以其灵活性和可扩展性,正在重塑我们处理数据的方式。现在,服务器已经在您的机器上运行,一个充满可能性的大门已经打开。请积极动手实践,通过编写代码与数据库交互,探索 MongoDB 的强大功能,并将其应用于您的项目中。

祝您在 MongoDB 的学习和使用旅程中一切顺利!


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部