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 会处理依赖关系并简化管理。
-
更新 Homebrew: 在终端中运行以下命令,确保 Homebrew 及其包列表是最新的:
bash
brew update -
安装 MongoDB Community Server: MongoDB 将其软件分为 “MongoDB Community Server” (免费版) 和 “MongoDB Enterprise Server” (企业版)。我们将安装社区版。
bash
brew install [email protected]
注意:@6.0指定了安装 MongoDB 的 6.0 版本。您可以根据需要安装其他版本,例如[email protected]或mongodb-community(安装最新稳定版)。 -
启动 MongoDB 服务:
安装完成后,您可以使用 Homebrew 的services命令来启动 MongoDB:
bash
brew services start [email protected]
这会将 MongoDB 配置为在系统启动时自动运行,并在后台启动它。 -
验证 MongoDB 是否运行:
bash
brew services list
您应该会看到[email protected]旁边显示started(或类似) 状态。
方法二:手动下载官方包 (替代方案)
如果您不想使用 Homebrew,可以从 MongoDB 官网下载并手动配置。
-
下载 MongoDB Community Server:
访问 MongoDB 下载中心。
选择您的 macOS 版本,下载tgz压缩包。 -
解压并移动文件:
将下载的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替换为您下载的实际版本号) -
配置环境变量 (可选但推荐):
将 MongoDB 的bin目录添加到您的PATH环境变量中,这样您就可以在任何地方运行mongo和mongod命令。
编辑您的 shell 配置文件 (例如~/.zshrc或~/.bash_profile):
bash
nano ~/.zshrc # 或者 vim ~/.zshrc
添加以下行:
bash
export PATH=$PATH:/usr/local/mongodb/bin
保存文件并退出。然后运行以下命令使更改生效:
bash
source ~/.zshrc # 或者 source ~/.bash_profile -
创建数据目录:
MongoDB 默认将数据存储在/data/db目录中。您需要手动创建此目录并设置正确的权限:
bash
sudo mkdir -p /data/db
sudo chown -R `id -un` /data/db -
启动 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
或者使用mongoshshell 连接后执行db.shutdownServer()。
重启 MongoDB
- 使用 Homebrew:
bash
brew services restart [email protected]
5. 连接到 MongoDB
使用 mongosh Shell
MongoDB 4.4 版本及更高版本使用 mongosh 作为其新的官方 Shell。如果您使用 Homebrew 安装 MongoDB,mongosh 会随之安装。
-
启动
mongosh:
在 MongoDB 服务运行的情况下,打开一个新的终端窗口并输入:
bash
mongosh
您将看到一个提示符,表示已成功连接到 MongoDB 服务器。默认情况下,它会连接到本地的test数据库。 -
基本
mongosh命令:- 显示所有数据库:
show dbs - 切换或创建数据库:
use mydatabase(如果mydatabase不存在,它会在第一次插入数据时创建) - 显示当前数据库:
db - 退出 Shell:
exit
- 显示所有数据库:
使用 MongoDB Compass (GUI 工具)
MongoDB Compass 是 MongoDB 官方提供的一款强大的图形用户界面 (GUI) 工具,可以帮助您更直观地管理和查询数据。
- 下载 Compass: 访问 MongoDB Compass 下载页面,下载并安装 macOS 版本。
- 连接到本地服务器: 启动 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 之旅!