MongoDB 常用命令速查表

以下是一份 MongoDB 常用命令速查表,涵盖数据库、集合、文档的增删改查、索引管理、聚合操作等场景:


1. 数据库操作

命令说明
show dbs查看所有数据库
use <db-name>切换/创建数据库(需插入数据后才会显示)
db.dropDatabase()删除当前数据库

2. 集合(Collection)操作

命令说明
show collections查看当前数据库的所有集合
db.createCollection("<collection-name>")创建集合
db.<collection-name>.drop()删除集合

3. 文档(Document)的 CRUD

插入文档

javascript

复制

// 插入单条文档
db.users.insertOne({ name: "Alice", age: 25, role: "admin" });// 插入多条文档
db.users.insertMany([{ name: "Bob", age: 30 },{ name: "Charlie", age: 28 }
]);
查询文档

javascript

复制

// 查询所有文档
db.users.find();// 条件查询(等于)
db.users.find({ age: 25 });// 条件查询(范围)
db.users.find({ age: { $gt: 25 } }); // 大于25
db.users.find({ age: { $in: [25, 30] } }); // 在指定范围内// 限制返回字段(1表示包含,0表示排除)
db.users.find({}, { name: 1, _id: 0 });// 分页与排序
db.users.find().sort({ age: -1 }).skip(10).limit(5); // 按年龄倒序,跳过前10条,取5条
更新文档

javascript

复制

// 更新单条文档
db.users.updateOne({ name: "Alice" },{ $set: { age: 26 } } // 更新字段
);// 更新多条文档
db.users.updateMany({ role: "user" },{ $set: { status: "active" } }
);// 新增字段或复杂操作
db.users.updateOne({ name: "Bob" },{ $inc: { age: 1 }, $push: { tags: "vip" } } // 年龄+1,添加数组元素
);
删除文档

javascript

复制

// 删除单条文档
db.users.deleteOne({ name: "Alice" });// 删除多条文档
db.users.deleteMany({ age: { $lt: 20 } });

4. 索引管理

命令说明
db.<collection-name>.createIndex({ field: 1 })创建升序索引(1为升序,-1为降序)
db.<collection-name>.getIndexes()查看集合所有索引
db.<collection-name>.dropIndex("index-name")删除指定索引

5. 聚合操作(Aggregation)

javascript

复制

// 按角色分组统计平均年龄
db.users.aggregate([{ $group: { _id: "$role", avgAge: { $avg: "$age" } } }
]);// 多阶段管道:过滤 + 分组 + 排序
db.orders.aggregate([{ $match: { status: "completed" } }, // 筛选状态为完成的订单{ $group: { _id: "$product", total: { $sum: "$amount" } } }, // 按商品分组统计总金额{ $sort: { total: -1 } } // 按总金额降序排列
]);

6. 用户与权限管理

命令说明
db.createUser({ user: "admin", pwd: "123456", roles: ["root"] })创建管理员用户
db.grantRolesToUser("user1", ["readWrite"])为用户分配角色
db.getUsers()查看当前数据库用户

7. 数据备份与恢复

bash

复制

# 备份数据库(命令行工具)
mongodump --db mydb --out /backup/# 恢复数据库
mongorestore --db mydb /backup/mydb/

8. 实用工具命令

命令说明
db.stats()查看当前数据库状态(集合数、存储大小等)
db.<collection-name>.stats()查看集合的详细统计信息
db.<collection-name>.countDocuments({ query })统计符合条件的文档数量

注意事项

  1. MongoDB 默认不启用身份验证,生产环境需配置用户权限。

  2. 更新和删除操作建议先查询确认条件,避免误操作。

  3. 聚合管道(aggregate)支持复杂数据处理,灵活但需注意性能。

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

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

相关文章

23种设计模式 - 模板方法

模式定义 模板方法模式&#xff08;Template Method Pattern&#xff09;是一种行为型设计模式&#xff0c;它通过定义算法的骨架&#xff08;固定步骤&#xff09;&#xff0c;允许子类在不改变算法结构的情况下重写特定步骤。该模式的核心是将通用流程封装在基类中&#xff…

使用Java爬虫获取1688自定义API操作接口

在电商领域&#xff0c;1688作为国内领先的B2B平台&#xff0c;提供了丰富的API接口&#xff0c;允许开发者获取商品信息、店铺信息等。其中&#xff0c;custom 接口允许开发者进行自定义操作&#xff0c;获取特定的数据。本文将详细介绍如何使用Java爬虫技术&#xff0c;通过1…

MVTEC数据集笔记

前言 网上的博客只有从论文里摘出的介绍&#xff0c;没有数据集文件详细的样子&#xff0c;下载数据集之后&#xff0c;对数据集具体的构成做一个补充的笔记。 下载链接&#xff1a;https://ai-studio-online.bj.bcebos.com/v1/7d4a3cf558254bbaaf4778ea336cb14ed8bbb96a7f2a…

记一次渗透测试实战之Sightless

信息收集 端口扫描 使用nmap进行端口探测&#xff0c;发现存在21、22、80端口开放。 FTP未授权访问 尝试21端口未授权访问。 目录爆破 使用工具进行爆破目录。 未发现有用的路径&#xff0c;接着尝试访问80端口。 Web网站 访问主页 发现存在一个数据库调用页面 右上角有一…

前端监控的具体实现细节

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【网络安全 | 漏洞挖掘】我如何通过Cookie Manipulation发现主域上的关键PII?

未经许可,不得转载。 文章目录 正文正文 在分析 Example.com 的认证机制时,我注意到一个特定的 cookie,USER_ID,包含了一个具有预测性的会话标识符,其格式为: USER_ID="VYCVCDs-TZBI:XXXX-random-data"其中,XXXX 是由四个大写字母组成的部分,我使用 Burp S…

PostgreSQL 的崛起与无服务器数据库的新时代

根据 2023 年 Stack Overflow 开发人员调查 &#xff0c;PostgreSQL 超越 MySQL 成为最受开发人员推崇和期望的数据库系统&#xff0c;这是一个重要的里程碑。这一转变反映了开发人员社区对 PostgreSQL 强大的功能集、可靠性和可扩展性的日益认同。 这种不断变化的格局激发了数…

计算机视觉+Numpy和OpenCV入门

Day 1&#xff1a;Python基础Numpy和OpenCV入门 Python基础 变量与数据类型、函数与类的定义、列表与字典操作文件读写操作&#xff08;读写图像和数据文件&#xff09; 练习任务&#xff1a;写一个Python脚本&#xff0c;读取一个图像并保存灰度图像。 import cv2 img cv2.im…

cesium基础设置

cesium官网下载&#xff1a;https://cesium.com/downloads/ 1.安装cesium 选择下载到本地使用&#xff0c;或者通过npm下载到项目中 2.代码书写 &#xff08;1&#xff09;创建容器 <div id"cesiumContainer" style"width: 100%; height: 100%"><…

C++ 实践扩展(Qt Creator 联动 Visual Studio 2022)

​ 这里我们将在 VS 上实现 QT 编程&#xff0c;实现如下&#xff1a; 一、Vs 2022 配置&#xff08;若已安装&#xff0c;可直接跳过&#xff09; 点击链接&#xff1a;​​​​​Visual Studio 2022 我们先去 Vs 官网下载&#xff0c;如下&#xff1a; 等待程序安装完成之…

《解锁自然语言处理:让公众正确拥抱AI语言魔法》

在当今数字化浪潮中&#xff0c;自然语言处理&#xff08;NLP&#xff09;技术作为人工智能领域的璀璨明珠&#xff0c;正以惊人的速度融入我们的生活。从智能语音助手到智能客服&#xff0c;从机器翻译到内容创作辅助&#xff0c;NLP技术无处不在。然而&#xff0c;如同任何强…

uniapp webview嵌入外部h5网页后的消息通知

最近开发了个oa系统&#xff0c;pc端的表单使用form-create开发&#xff0c;form-create 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的表单生成组件。移动端使用uniapp开发&#xff0c;但是因为form-create移动端只支持vant&#xff0c;不支持uniapp。官…

Python在网络安全中的应用 python与网络安全

前言 网络安全是保护网络、系统和程序免受数字攻击的做法。据估计&#xff0c; 2019 年该行业价值 1120 亿美元&#xff0c;到2021 年估计有 350 万个职位空缺。 许多编程语言用于执行与网络安全相关的日常任务&#xff0c;但其中一种已成为行业标准&#xff1a;Python&#…

设计模式15:中介者模式

系列总链接&#xff1a;《大话设计模式》学习记录_net 大话设计-CSDN博客 1.概述 中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为设计模式&#xff0c;旨在通过一个中介对象来封装一系列对象之间的交互方式&#xff0c;从而减少这些对象间的直接依赖。在该模式…

golang常用库之-swaggo/swag根据注释生成接口文档

golang常用库之-swaggo/swag库根据注释生成接口文档 什么是swaggo/swag github&#xff1a;https://github.com/swaggo/swag 参考文档&#xff1a;https://golang.halfiisland.com/community/pkgs/web/swag.html#%E4%BD%BF%E7%94%A8 swaggo/swag 是 Swagger API 2.0 在 go 语…

爬取网站内容转为markdown 和 html(通常模式)

我们遇到一些自己喜欢内容&#xff0c;想保存下来&#xff0c;手动复制粘贴很麻烦&#xff0c;我们使用 python 来爬取这些内容。 一、代码 downlod.py import os import requests from bs4 import BeautifulSoup from urllib.parse import urljoin# 目标网页&#xff08;可…

. Spring MVC

&#xff08;1&#xff09;MVC 设计模式 Model&#xff08;模型&#xff09;&#xff1a;负责存储数据和业务逻辑。在 Spring MVC 中&#xff0c;模型通常是 JavaBean&#xff0c;用于封装数据。 View&#xff08;视图&#xff09;&#xff1a;负责展示数据给用户。可以是 JSP…

高效执行自动化用例:分布式执行工具pytest-xdist实战!

01、声明 在介绍pytest-xdist时&#xff0c;不讲任何原理&#xff0c;需要看原理的请移至官方&#xff1a;https://pypi.org/project/pytest-xdist/ 当我们自动化测试用例非常多的时候&#xff0c; 一条条按顺序执行会非常慢&#xff0c;pytest-xdist的出现就是为了让自动化测…

【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十八节】

ISO 14229-1:2023 UDS诊断服务测试用例全解析&#xff08;ResponseOnEvent_0x86服务&#xff09; 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月14日 关键词&#xff1a;UDS协议、0x86服务、事件响应、ISO 14229-1:2023、ECU测试 一、服务功能概述 0x86…

deepseek多列数据对比,联想到excel的高级筛选功能

目录 1 业务背景 ​2 deepseek提示词输入 ​3 联想分析 4 EXCEL高级搜索 1 业务背景 系统上线的时候经常会遇到一个问题&#xff0c;系统导入的数据和线下的EXCEL数据是否一致&#xff0c;如果不一致&#xff0c;如何快速找到差异值&#xff0c;原来脑海第一反应就是使用公…