掌握 MongoDB:Mac 版安装与使用 – wiki词典

My apologies for the repeated attempts and the confusion. It appears I do not have the write_file tool available in this environment. Therefore, I cannot create a markdown file for the article.

Instead, I will provide the content of the article directly in this response:

掌握 MongoDB:Mac 版安装与使用

MongoDB 是一个流行的 NoSQL 数据库,以其灵活的文档模型、高可扩展性和强大的查询语言而闻名。对于开发者而言,掌握 MongoDB 是一个非常有用的技能。本指南将详细介绍如何在 macOS 系统上安装、配置和使用 MongoDB。

1. 简介

MongoDB 是一种面向文档的数据库,存储的数据结构类似 JSON (BSON),这使得它非常适合存储半结构化数据和构建现代 Web 应用程序。它与传统的关系型数据库不同,不需要预定义模式,这为开发者提供了极大的灵活性。

2. 准备工作

在开始安装之前,请确保您的 Mac 满足以下条件:

  • macOS 系统: 本教程基于 macOS 系统。
  • 网络连接: 安装过程中需要下载文件。
  • Homebrew (推荐): Homebrew 是 macOS 上一个优秀的包管理器,推荐使用它来安装 MongoDB。如果您的系统没有安装 Homebrew,可以通过在终端运行以下命令进行安装:
    bash
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

3. 安装 MongoDB

在 macOS 上安装 MongoDB 有两种主要方法:使用 Homebrew (推荐) 和手动下载官方包。

方法一:使用 Homebrew (推荐)

这是最简单、最推荐的安装方式。Homebrew 会处理依赖关系并简化管理。

  1. 更新 Homebrew: 在终端中运行以下命令,确保 Homebrew 及其包列表是最新的:
    bash
    brew update

  2. 安装 MongoDB Community Server: MongoDB 将其软件分为 “MongoDB Community Server” (免费版) 和 “MongoDB Enterprise Server” (企业版)。我们将安装社区版。
    bash
    brew install [email protected]

    注意: @6.0 指定了安装 MongoDB 的 6.0 版本。您可以根据需要安装其他版本,例如 [email protected]mongodb-community (安装最新稳定版)。

  3. 启动 MongoDB 服务:
    安装完成后,您可以使用 Homebrew 的 services 命令来启动 MongoDB:
    bash
    brew services start [email protected]

    这会将 MongoDB 配置为在系统启动时自动运行,并在后台启动它。

  4. 验证 MongoDB 是否运行:
    bash
    brew services list

    您应该会看到 [email protected] 旁边显示 started (或类似) 状态。

方法二:手动下载官方包 (替代方案)

如果您不想使用 Homebrew,可以从 MongoDB 官网下载并手动配置。

  1. 下载 MongoDB Community Server:
    访问 MongoDB 下载中心
    选择您的 macOS 版本,下载 tgz 压缩包。

  2. 解压并移动文件:
    将下载的 tgz 文件解压到您选择的目录 (例如 /usr/local/mongodb)。
    bash
    # 假设下载到 Downloads 文件夹,并且解压到 /usr/local
    sudo tar -zxvf ~/Downloads/mongodb-macos-x86_64-6.0.xx.tgz -C /usr/local

    然后将解压后的文件夹重命名为更简洁的名字:
    bash
    sudo mv /usr/local/mongodb-macos-x86_64-6.0.xx /usr/local/mongodb

    (请将 6.0.xx 替换为您下载的实际版本号)

  3. 配置环境变量 (可选但推荐):
    将 MongoDB 的 bin 目录添加到您的 PATH 环境变量中,这样您就可以在任何地方运行 mongomongod 命令。
    编辑您的 shell 配置文件 (例如 ~/.zshrc~/.bash_profile):
    bash
    nano ~/.zshrc # 或者 vim ~/.zshrc

    添加以下行:
    bash
    export PATH=$PATH:/usr/local/mongodb/bin

    保存文件并退出。然后运行以下命令使更改生效:
    bash
    source ~/.zshrc # 或者 source ~/.bash_profile

  4. 创建数据目录:
    MongoDB 默认将数据存储在 /data/db 目录中。您需要手动创建此目录并设置正确的权限:
    bash
    sudo mkdir -p /data/db
    sudo chown -R `id -un` /data/db

  5. 启动 MongoDB 服务器:
    在终端中运行 mongod 命令来启动 MongoDB 服务器:
    bash
    mongod

    服务器将在前台运行。要让它在后台运行,可以使用 & 符号,或者创建服务 (更复杂,Homebrew 方式更简单)。

4. 管理 MongoDB 服务

启动 MongoDB

  • 使用 Homebrew:
    bash
    brew services start [email protected]
  • 手动安装:
    bash
    mongod # 在前台运行
    mongod --fork --logpath /usr/local/mongodb/log/mongod.log # 在后台运行并记录日志

    您需要先创建 /usr/local/mongodb/log 目录。

停止 MongoDB

  • 使用 Homebrew:
    bash
    brew services stop [email protected]
  • 手动安装:
    如果 mongod 在前台运行,直接按 Ctrl + C
    如果 mongod 在后台运行,您需要找到其进程 ID (PID) 并终止它:
    bash
    pgrep mongod # 查找 mongod 进程 ID
    kill <PID> # 替换 <PID> 为实际的进程 ID

    或者使用 mongosh shell 连接后执行 db.shutdownServer()

重启 MongoDB

5. 连接到 MongoDB

使用 mongosh Shell

MongoDB 4.4 版本及更高版本使用 mongosh 作为其新的官方 Shell。如果您使用 Homebrew 安装 MongoDB,mongosh 会随之安装。

  1. 启动 mongosh:
    在 MongoDB 服务运行的情况下,打开一个新的终端窗口并输入:
    bash
    mongosh

    您将看到一个提示符,表示已成功连接到 MongoDB 服务器。默认情况下,它会连接到本地的 test 数据库。

  2. 基本 mongosh 命令:

    • 显示所有数据库: show dbs
    • 切换或创建数据库: use mydatabase (如果 mydatabase 不存在,它会在第一次插入数据时创建)
    • 显示当前数据库: db
    • 退出 Shell: exit

使用 MongoDB Compass (GUI 工具)

MongoDB Compass 是 MongoDB 官方提供的一款强大的图形用户界面 (GUI) 工具,可以帮助您更直观地管理和查询数据。

  1. 下载 Compass: 访问 MongoDB Compass 下载页面,下载并安装 macOS 版本。
  2. 连接到本地服务器: 启动 Compass,通常它会自动检测并建议连接到本地运行的 MongoDB 实例 (默认连接字符串为 mongodb://localhost:27017)。点击 “Connect” 即可。

6. 基本 MongoDB 操作 (CRUD)

让我们通过 mongosh Shell 来进行一些基本的增删改查 (CRUD) 操作。

首先,切换到一个数据库 (如果不存在,MongoDB 会自动创建):
javascript
use myappdb

插入 (Create)

插入单个文档:
javascript
db.users.insertOne({ name: "Alice", age: 30, email: "[email protected]" });

插入多个文档:
javascript
db.users.insertMany([
{ name: "Bob", age: 25, email: "[email protected]", status: "active" },
{ name: "Charlie", age: 35, email: "[email protected]", status: "inactive" },
{ name: "David", age: 28, email: "[email protected]", status: "active" }
]);

查询 (Read)

查询所有文档:
javascript
db.users.find();

查询符合特定条件的文档:
javascript
db.users.find({ age: { $gt: 29 } }); // 查询 age 大于 29 的用户
db.users.find({ status: "active" }); // 查询 status 为 active 的用户

查询单个文档:
javascript
db.users.findOne({ name: "Alice" });

更新 (Update)

更新单个文档:
javascript
db.users.updateOne(
{ name: "Alice" },
{ $set: { age: 31, status: "active" } }
);

更新多个文档:
javascript
db.users.updateMany(
{ status: "inactive" },
{ $set: { status: "pending" } }
);

删除 (Delete)

删除单个文档:
javascript
db.users.deleteOne({ name: "Charlie" });

删除多个文档:
javascript
db.users.deleteMany({ status: "pending" });

删除整个集合:
javascript
db.users.drop();

7. 总结

本指南详细介绍了如何在 macOS 上安装和配置 MongoDB,以及如何使用 mongosh 和 MongoDB Compass 进行基本的数据操作。MongoDB 凭借其灵活性和高性能,已成为现代应用程序开发的强大选择。通过持续学习和实践,您将能够充分利用 MongoDB 的强大功能来构建高效、可扩展的应用程序。希望本指南能帮助您开启 MongoDB 之旅!

滚动至顶部