MongoDB是一款流行的NoSQL数据库,在Linux环境下部署和使用是很多开发者的常见需求,下面将从安装到基础操作逐步讲解完整流程。

一、Linux下MongoDB安装步骤
以Ubuntu系统为例,首先导入MongoDB的官方GPG密钥,然后添加软件源,之后执行安装命令即可完成部署。
# 导入GPG密钥 curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg --dearmor # 添加MongoDB软件源 echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list # 更新软件包索引并安装MongoDB sudo apt-get update sudo apt-get install -y mongodb-org
二、MongoDB服务管理
安装完成后需要对MongoDB服务进行启动、停止、重启等操作,同时可以设置开机自启。
# 启动MongoDB服务 sudo systemctl start mongod # 查看服务运行状态 sudo systemctl status mongod # 停止MongoDB服务 sudo systemctl stop mongod # 重启MongoDB服务 sudo systemctl restart mongod # 设置开机自启 sudo systemctl enable mongod
三、基础数据库操作
使用mongo命令可以进入MongoDB的交互式shell,之后就可以执行各类数据库操作。
1. 数据库创建与切换
MongoDB中不需要提前创建数据库,切换到不存在的数据库并插入数据后,数据库会自动创建。
// 切换到test_db数据库,如果不存在则后续插入数据时会自动创建 use test_db // 查看当前所在的数据库 db
2. 查看所有数据库
// 列出所有存在的数据库 show dbs
3. 删除数据库
// 切换到要删除的数据库 use test_db // 执行删除操作 db.dropDatabase()
四、集合与文档操作
集合相当于关系型数据库中的表,文档相当于表中的行,下面介绍常用的增删改查操作。
1. 创建集合
// 显式创建名为user的集合
db.createCollection("user")
// 查看当前数据库下的所有集合
show collections
2. 插入文档
插入文档时可以不用提前定义集合的结构,MongoDB支持动态字段。
// 插入单条文档
db.user.insertOne({
name: "张三",
age: 25,
email: "zhangsan@ipipp.com"
})
// 插入多条文档
db.user.insertMany([
{name: "李四", age: 28, email: "lisi@ipipp.com"},
{name: "王五", age: 22, email: "wangwu@ipipp.com"}
])
3. 查询文档
// 查询所有文档
db.user.find()
// 查询年龄大于25的文档
db.user.find({age: {$gt: 25}})
// 查询指定字段,1表示返回,0表示不返回
db.user.find({name: "张三"}, {name: 1, age: 1, _id: 0})
4. 更新文档
// 更新单条文档,将张三的年龄改为26
db.user.updateOne(
{name: "张三"},
{$set: {age: 26}}
)
// 更新多条文档,将所有年龄小于25的文档年龄加1
db.user.updateMany(
{age: {$lt: 25}},
{$inc: {age: 1}}
)
5. 删除文档
// 删除单条文档,删除姓名为李四的文档
db.user.deleteOne({name: "李四"})
// 删除多条文档,删除年龄大于30的所有文档
db.user.deleteMany({age: {$gt: 30}})
五、常用注意事项
- 默认情况下MongoDB监听27017端口,如果需要远程访问,需要修改配置文件
/etc/mongod.conf中的bindIp为0.0.0.0,同时开放对应端口的防火墙规则。 - 生产环境建议为MongoDB设置账号密码,避免无认证访问带来的安全风险。
- 可以通过
mongodump和mongorestore命令进行数据的备份和恢复。
操作MongoDB时需要注意,删除数据库和集合的操作不可逆,执行前务必确认数据是否需要保留。