自学内容网 自学内容网

聊聊 Mongod 以及 MongoDB 常用命令

Mongod

mongod 是 MongoDB 数据库服务器的核心守护进程,它负责启动并管理 MongoDB 数据库实例。简单来说,mongod 是 MongoDB 数据库服务器程序,它负责处理数据存储、数据请求、数据复制等后台服务。运行 mongod 是启动 MongoDB 数据库的第一步,它将 MongoDB 实例运行在后台。主要作用如下:

  • 处理来自客户端的连接和请求。
  • 管理数据的读写操作。
  • 提供数据库实例的复制和备份功能。
  • 维护 MongoDB 集群中的节点通信。

可以使用以下命令来启动 mongod:

mongod --config /etc/mongod.conf

在实际项目中,推荐使用 配置文件(如 mongod.conf)来管理 MongoDB 的启动配置。例如,在配置文件中可以设置数据存储路径、日志路径、绑定的IP地址等。

mongod.conf 配置文件:

# 数据存储路径
storage:
  dbPath: /var/lib/mongodb

# 日志文件路径
systemLog:
  destination: file
  path: /var/log/mongodb/mongod.log

# 监听端口和IP地址
net:
  port: 27017
  bindIp: 127.0.0.1

MongoDB 常用命令

MongoDB 提供了很多命令,主要通过 MongoDB Shell(mongo)或者驱动程序与数据库进行交互。

数据库相关命令

db                   // 显示当前数据库
show dbs             // 查看所有数据库
use <database_name>  // 创建/切换数据库,如果数据库不存在,则会创建一个新的数据库
db.dropDatabase()    // 删除数据库

集合相关命令

show collections                       // 显示当前数据库中的所有集合
db.createCollection("collection_name") // 创建集合
db.collection_name.drop()              // 删除集合

文档操作命令(CRUD)

db.collection_name.insert({ name: "John", age: 30 })                // 插入文档
db.collection_name.find()                                           // 查询所有文档
db.collection_name.find({ name: "John" })                           // 查询指定条件的文档
db.collection_name.update({ name: "John" }, { $set: { age: 31 } })  // 更新文档,使用 $set 仅更新指定字段。
db.collection_name.remove({ name: "John" })                         // 删除文档
db.collection_name.count()                                          // 计数文档数量

索引操作命令

db.collection_name.createIndex({ name: 1 })      // 创建索引,为 name 字段创建升序索引
db.collection_name.getIndexes()                  // 查看集合的所有索引
db.collection_name.dropIndex("index_name")       // 删除索引

聚合操作命令

db.collection_name.aggregate([
    { $match: { age: { $gt: 25 } } }, // 使用 $match 过滤数据
    { $group: { _id: "$name", totalAge: { $sum: "$age" } } } // 并使用 $group 按 name 字段分组,计算 age 总和
])  

其他管理命令

db.stats()                  // 查看数据库状态
db.collection_name.stats()  // 查看集合状态
db.repairDatabase()         // 修复数据库
db.currentOp()              // 查看当前连接的客户端

用户和权限管理命令

// 创建用户
db.createUser({
    user: "username",
    pwd: "password",
    roles: [ { role: "readWrite", db: "database_name" } ]
})
// 删除用户
db.dropUser("username")
// 验证用户登录
db.auth("username", "password")

MongoDB 配置启动环境变量
通过 环境变量 配置 MongoDB,特别是在容器化环境中:

export MONGO_INITDB_ROOT_USERNAME=root
export MONGO_INITDB_ROOT_PASSWORD=example
mongod --auth --dbpath /data/db

通过这种方式,可以轻松设置 MongoDB 的用户名和密码,并启用身份验证。

备份与恢复

mongodump --db database_name --out /backup/directory              // 备份数据库
mongorestore --db database_name /backup/directory/database_name   // 恢复数据库

原文地址:https://blog.csdn.net/qq_41893505/article/details/144763726

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!