聊聊 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: filepath: /var/log/mongodb/mongod.log# 监听端口和IP地址
net:port: 27017bindIp: 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   // 恢复数据库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65300.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解读DeepseekV3

本年度还剩几天&#xff0c;Deepseek就发布了这么值得惊喜的产品&#xff0c;我觉得是真正做AI&#xff0c;也喜欢AI同学&#xff0c;对这个魔幻的2024年12月&#xff0c;一定是未来多少年想起都能回忆起这波澜壮阔的岁月。 我见过的最省的GPT4o&#xff0c;Claude&#xff0c…

一种寻路的应用

应用背景 利用长途车进行货物转运的寻路计算。例如从深圳到大连。可以走有很多条长途车的路线。需要根据需求计算出最合适路线。不同的路线的总里程数、总价、需要的时间不一样。客户根据需求进行选择。主要有一些细节&#xff1a; 全国的长途车车站的数据的更新&#xff1a; …

Linux-Ubuntu之串口通信

Linux-Ubuntu之串口通信 一&#xff0c;串口通信1.串口通信寄存器配置2.串口通信软件实现①手动波特率②自动波特率③主函数 二&#xff0c;printf和scanf实现串口的输入显示 一&#xff0c;串口通信 1.串口通信寄存器配置 串口通信利用接口是这个TTL&#xff0c;下载程序用的…

手机发烫怎么解决?

在当今这个智能手机不离手的时代&#xff0c;手机发烫成了不少人头疼的问题。手机发烫不仅影响使用手感&#xff0c;长期过热还可能损害手机硬件、缩短电池寿命&#xff0c;甚至引发安全隐患。不过别担心&#xff0c;下面这些方法能帮你有效给手机 “降温”。 一、使用习惯方面…

YashanDB 23.2 YAC -单库多实例架构多活共享集群安装部署指南

一、概述 1.1 文档目标 ​ 本说明旨在指导技术人员在 CentOS 7 x86_64 操作系统上完成崖山数据库企业版 23.2 的共享集群安装与部署。通过系统架构、集群拓扑及部署需求的精确描述&#xff0c;帮助读者在开始安装前对崖山数据库的架构形成清晰认识。本文以高效、稳定、安全为…

JavaScript(一):变量与常量

目录 var let const 在JavaScript中&#xff0c;主要使用var、let和const关键字来声明变量或常量 var var是JavaScript早期时声明变量的方式&#xff0c;目前比较少用到 作用域&#xff1a; 函数内部声明&#xff1a;只在函数内部有效函数外部声明&#xff1a;全局有效 变量…

【开发问题记录】执行 git cz 报require() of ES Module…… 错误

文章目录 1、问题2、解决3、参考链接 1、问题 在对 commitizen 进行完&#xff0c;一系列的初始化以后 &#xff0c; 对代码进行 提交 到暂存区&#xff0c;然后要提交到 本地仓库 的报错 然后因为安装了 commitizen 所以是想用 git cz 进行提交的&#xff0c; 执行命令的时候…

LaTeX 是一种基于标记的排版系统,广泛用于创建高质量的文档,特别是在需要复杂数学公式、表格、文献引用等的场景中

LaTeX 是一种基于标记的排版系统&#xff0c;广泛用于创建高质量的文档&#xff0c;特别是在需要复杂数学公式、表格、文献引用等的场景中。以下是关于 LaTeX 的详细解释&#xff1a; 1. LaTeX 的基本概念 本质&#xff1a;LaTeX 是基于 TeX 的排版系统&#xff0c;提供了更高…

AI三驾马车——数据、算法与算力的一体化融合体验

一、概述 随着AI大模型、云计算和大数据技术的快速发展&#xff0c;智能算力市场需求持续增长。今年7月由国家信息中心发布的《智能算力产业发展白皮书》指出&#xff0c;随着AI大模型等关键技术取得突破&#xff0c;算力需求正从通用计算转向智能计算。智能计算是指面向人工智…

【可靠有效】springboot使用netty搭建TCP服务器

Netty Netty是一个高性能、异步事件驱动的网络应用程序框架,它提供了对并发和异步编程的抽象,使得开发网络应用程序变得更加简单和高效。 在Netty中,EventLoopGroup是处理I/O操作的多线程事件循环器。在上面的示例中,我们创建了两个EventLoopGroup实例:bossGroup和worker…

React性能优化:构建更高效的应用

在现代前端开发中,React已经成为构建复杂、交互频繁应用的首选框架。然而,随着应用规模的扩大和功能的丰富,组件的频繁重渲染可能会成为性能瓶颈,影响用户体验。为了提升React应用的性能,开发者需要掌握一系列性能优化技巧和工具。本文将详细介绍React性能优化的各个方面,…

PyTorch Lightning Callback介绍

PyTorch Lightning Callback 介绍 在 PyTorch 中&#xff0c;callbacks&#xff08;回调函数&#xff09;不是原生支持的核心功能&#xff0c;但在深度学习中非常常见&#xff0c;尤其是用来监控训练过程、调整超参数或执行特定的任务。许多高级深度学习框架&#xff08;如 Py…

外键约束的应用层维护

1.前言 一般来说 对于不同表格之间的属性约束 我们通常直接使用数据库已经实现好的外键来完成 但是数据库底层实现的外键他的性能很差 这是因为在执行数据库修改操作时 他需要遍历其他所有的表来找出其中可能相关联的属性 一并进行数据库修改(应用层的维护则只需要遍历所有关联…

【C语言】斐波那契数列

已知Fibonacci数列为1,1,2,3,5,8,13,…&#xff0c;用递归法编写求Fibonacci数的函数&#xff0c;在主函数中输入一个自然数&#xff0c;输出不小于该自然数的最小的一个Fibonacci数。 #include <stdio.h> int Fib(int f) {if (f < 2) return 1;else return Fib(f - …

前端知识补充—CSS

CSS介绍 什么是CSS CSS(Cascading Style Sheet)&#xff0c;层叠样式表, ⽤于控制⻚⾯的样式 CSS 能够对⽹⻚中元素位置的排版进⾏像素级精确控制, 实现美化⻚⾯的效果. 能够做到⻚⾯的样式和结构分离 基本语法规范 选择器 {⼀条/N条声明} 1&#xff09;选择器决定针对谁修改…

elasticsearch 杂记

8.17快速安装与使用 系统&#xff1a;ubuntu 24 下载地址&#xff1a; https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.17.0-linux-x86_64.tar.gz 解压后进入目录&#xff1a;cd ./elasticsearch-8.17.0 运行&#xff1a;./bin/elasticsearch 创…

在git commit之前让其自动执行一次git pull命令

文章目录 背景原因编写脚本测试效果 背景原因 有时候可以看到项目的git 提交日志里好多 Merge branch ‘master’ of …记录。这些记录是怎么产生的呢&#xff1f; 是因为在本地操作 git add . 、 git commit -m "xxxxx"时&#xff0c;没有提前进行git pull操作&…

c# RSA加解密工具,.netRSA加解密工具

软件介绍 名称: c# RSA加解密工具,.netRSA加解密工具依赖.net版本: .net 8.0工具类型: WinForm源码下载 c# RSA加解密工具,.netRSA加解密工具 依赖项 WinFormsRSA.csproj <Project

地理数据库Telepg面试内容整理-如何在数据库中优化大规模空间数据的查询性能

优化大规模空间数据查询的性能是一个复杂但关键的任务,特别是在需要处理海量的地理信息时。空间数据通常涉及复杂的几何对象、空间关系和大范围的查询操作,因此,优化空间数据的查询性能通常需要综合考虑存储、索引、查询方法等多个方面。以下是一些优化大规模空间数据查询性…

GitCode 光引计划投稿|智能制造一体化低代码平台 Skyeye云

随着智能制造行业的快速发展&#xff0c;企业对全面、高效的管理解决方案的需求日益迫切。然而&#xff0c;传统的开发模式往往依赖于特定的硬件平台&#xff0c;且开发过程繁琐、成本高。为了打破这一瓶颈&#xff0c;Skyeye云应运而生&#xff0c;它采用先进的低代码开发模式…