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 }) | 统计符合条件的文档数量 |
注意事项
-
MongoDB 默认不启用身份验证,生产环境需配置用户权限。
-
更新和删除操作建议先查询确认条件,避免误操作。
-
聚合管道(
aggregate)支持复杂数据处理,灵活但需注意性能。
相关文章:
MongoDB 常用命令速查表
以下是一份 MongoDB 常用命令速查表,涵盖数据库、集合、文档的增删改查、索引管理、聚合操作等场景: 1. 数据库操作 命令说明show dbs查看所有数据库use <db-name>切换/创建数据库(需插入数据后才会显示)db.dropDatabase()…...
DeepSeek崛起的本质分析:AI变局中的中国机会
DeepSeek崛起的本质分析:AI变局中的中国机会 1. 中国AI发展的大背景 近年来,全球AI技术竞争日趋白热化,而中国作为全球第二大经济体,在AI领域的投入和政策支持力度不断加大。大模型是AI产业的制高点,而美国对中国的高…...
Autojs: 使用 SQLite
例子 let db new SQLiteUtil("/sdcard/A_My_DB/sqlite.db");db.fastCreateTable("user_table",{name: "",online: false,},["name"] // 设置 name 为唯一, 重复项 不会添加成功 );// 新增数据的 ID let row_id db.insert("use…...
读书笔记 - 修改代码的艺术
读书笔记 - 修改代码的艺术 第 1 章 修改软件第 2 章 带着反馈工作系统变更方式反馈方式遗留代码修改方法 第 3 章 感知和分离伪协作程序模拟对象 第 4 章 接缝模型接缝 第 5 章 工具自动化重构工具单元测试用具 第 6 章 时间紧迫,但必须修改新生方法(Sp…...
element-plus树形数据与懒加载的实现
环境 vue版本: 2.6.14 需求 树形表格,默认返回当前登录人拥有权限的一个层级的数据,通过点击load懒加载获取下一层的数据,要求有新增、编辑、删除操作。 树类型的懒加载: 当row中包含children字段时,被…...
仿 Sora 之形,借物理模拟之技绘视频之彩
来自麻省理工学院、斯坦福大学、哥伦比亚大学以及康奈尔大学的研究人员携手开源了一款创新的3D交互视频模型——PhysDreamer(以下简称“PD”)。PD与OpenAI旗下的Sora相似,能够借助物理模拟技术来生成视频,这意味着PD所生成的视频蕴…...
【算法】快排
题目 快排 思路 如果输入为0或1直接返回;否则取一个基准值,可以取中间位置,如果输入是有序的可以避免时间过长,然后移动指针,先让i指针右移,如果小于基准值就继续右移,j指针左移同理。如果指…...
RedisTemplate存储含有特殊字符解决
ERROR信息: 案发时间: 2025-02-18 01:01 案发现场: UserServiceImpl.java 嫌疑人: stringRedisTemplate.opsForValue().set(SystemConstants.LOGIN_CODE_PREFIX phone, code, Duration.ofMinutes(3L)); // 3分钟过期作案动机: stringRedisTemplate继承了Redistemplate 使用的…...
Django REST Framework (DRF) 中用于构建 API 视图类解析
Django REST Framework (DRF) 提供了丰富的视图类,用于构建 API 视图。这些视图类可以分为以下几类: 1. 基础视图类 这些是 DRF 中最基础的视图类,通常用于实现自定义逻辑。 常用类 APIView: 最基本的视图类,所有其…...
Zotero PDF Translate插件配置百度翻译api
Zotero PDF Translate插件可以使用几种翻译api,虽然谷歌最好用,但是由于众所周知的原因,不稳定。而cnki有字数限制,有道有时也不行。其他的翻译需要申请密钥。本文以百度为例,进行申请 官方有申请教程: Zot…...
Redis离线安装
Linux系统Centos安装部署Redis缓存插件 参考:Redis中文网: https://www.redis.net.cn/ 参考:RPM软件包下载地址: https://rpmfind.net/linux/RPM/index.html http://rpm.pbone.net/ https://mirrors.aliyun.com/centos/7/os…...
五、k8s:容忍 存储卷
容忍: 即使节点上有污点,依然可以部署pod。 tolerations: operator: "Exists" 不指定key,表示容忍所有的污点 cordon和drain cordon: 直接标记节点为不可用,pod不能部署到该节点。新建的pod不会再部署到该节点&#…...
零售顶流三只松鼠如何重塑品牌营销新生态,寻找新的增长点?
在零售行业的变革浪潮中,三只松鼠作为休闲零食领域的代表品牌,面临着前所未有的机遇与挑战。在竞争激烈的零售市场中,三只松鼠以其突出的表现成为行业焦点。2024 年前三季度,营收 71.69 亿元,同比增长 56.46%ÿ…...
USC 安防平台之移动侦测
随着第四次科技革命的开启,AI技术获取了突飞猛进的发展,视频监控对应的视频分析技术也获取了巨大的发展。 还记得15年前采用人工提取特征做前景背景分离和提取,大部分依赖CPU,最多使用一下TI的DM642 DSP加速,开发难度…...
MySQL智障离谱问题,删了库确还存在、也不能再创建同名库
1、问题 今天跟后端朋友接毕设单子的时候,后端穿过来的【weather.sql】这个文件没弄好,导致这个【weather】数据库的数据是错的,因此我用datagrip的GUI界面直接右键删除,结果就是tmd删不掉,ok,我只能在那新…...
IIS asp.net权限不足
检查应用程序池的权限 IIS 应用程序池默认使用一个低权限账户(如 IIS_IUSRS),这可能导致无法删除某些文件或目录。可以通过以下方式提升权限: 方法 1:修改应用程序池的标识 打开 IIS 管理器。 在左侧导航树中&#x…...
pptx文档提取信息
目录 一、前言二、python-pptx提取核心代码三、LibreOffice 转换pdf再提取的核心代码一、前言 pptx文档提取解析常用的库。 如果只需要解析 .pptx 的文本、表格、图片,推荐使用 python-pptx(开源,轻量级)。 如果需要高性能、支持 .ppt、动画、格式转换,推荐 Aspose.Slid…...
深入理解Python字典(Dictionary):从基础操作到高级应用
深入理解Python字典(Dictionary):从基础操作到高级应用 flyfish 一、Python 字典(Dictionary)基本概念 1. 定义 Python 字典是一种可变、无序的数据结构,用于存储键值对(key - value pairs&…...
@RestController和@RequestBody注解含义
一、RestController (一)含义 RestController 是 Spring Framework 中的一个组合注解,主要用于简化创建 RESTful Web 服务的过程。 它结合了 Controller 和 ResponseBody 注解的功能,使得开发者可以更简洁地编写处理 HTTP 请求的…...
用deepseek学大模型04-模型可视化与数据可视化
deepseek.com: pytorch可视化工具 生成神经网络图 在 PyTorch 中,可视化神经网络结构的常用工具和方法有以下几种,以下将详细介绍它们的用法: 1. TensorBoard (PyTorch 官方集成) PyTorch 通过 torch.utils.tensorboard 支持 TensorBoard&a…...
C++ 设计模式-外观模式
外观模式的定义 外观模式是一种 结构型设计模式,它通过提供一个简化的接口来隐藏系统的复杂性。外观模式的核心思想是: 封装复杂子系统:将多个复杂的子系统或组件封装在一个统一的接口后面。提供简单接口:为客户端提供一个更简单、更易用的接口,而不需要客户端直接与复杂…...
设计模式-结构型-享元模式
1. 享元模式概述 享元模式(Flyweight Pattern)是一种结构型设计模式,主要用于减少对象的数量,以降低内存占用和提高性能。它通过共享相似对象来避免创建大量相同的实例,适用于需要大量创建重复对象的场景,…...
嵌入式八股文(四)计算机网络篇
第一章 基础概念 1. 服务 指网络中各层为紧邻的上层提供的功能调用,是垂直的。包括面向连接服务、无连接服务、可靠服务、不可靠服务。 2. 协议 是计算机⽹络相互通信的对等层实体之间交换信息时必须遵守的规则或约定的集合。⽹络协议的三个基本要素:语法、…...
用deepseek学大模型04-机器学习建模过程
https://metaso.cn/s/7tEmBHr 目前已经学完深度学习的数学基础,给出机器学习建模的基本过程 好的,我现在需要回答用户的问题:已经学完深度学习的数学基础,现在要给出机器学习建模的基本过程。我需要结合我搜索到的资料来构建一个详…...
基于单片机的多功能门铃控制系统设计(论文+源码)
1功能设计 本课题为基于单片机的多功能门铃控制系统设计,主要结合单片机技术,门铃控制技术进行设计,在多功能门铃控制系统的设计中,将其主要的设计功能确定如下: (1)可以实现门铃的基础功能…...
使用Keras构建图像分类模型的入门指南
本人主页:机器学习司猫白 机器学习专栏:机器学习实战 PyTorch入门专栏:PyTorch入门 深度学习实战:深度学习 ok,话不多说,我们进入正题吧 一、Keras框架简介 1.1 什么是Keras? Keras是一个高层神经网络API,最初由Google工程师Franois Chollet开发,具有以下核心特点:…...
docker 运行 芋道微服务
jar包打包命令 mvn clean install package -Dmaven.test.skiptrue创建文件夹 docker-ai 文件夹下放入需要jar包的文件夹及 docker-compose.yml 文件 docker-compose.yml 内容:我这里的是ai服务,所以将原先的文件内容做了变更,你们需要用到什…...
win10 系统 自定义Ollama安装路径 及模型下载位置
win10 系统 自定义Ollama安装路径 及模型下载位置 由于Ollama的exe安装软件双击安装的时候默认是在C盘,以及后续的模型数据下载也在C盘,导致会占用C盘空间,所以这里单独写了一个自定义安装Ollama安装目录的教程。 Ollama官网地址࿱…...
整合Salesmart/WhatsApp、开源Odoo模块和Deepseek AI能力,实现针对国外客户的智能客服和个性化推荐服务
一、项目背景 本文提出了一套针对软管制造公司的智能客服与个性化推荐系统实施方案,旨在通过整合开源Odoo模块、Salesmart/WhatsApp以及Deepseek AI能力,打造一个724小时不间断服务的智能化平台,专注于服务国外客户。方案围绕实现不间断服务…...
人工智能基础之数学基础:01高等数学基础
函数 极限 按照一定次数排列的一列数:“,“,…,"…,其中u 叫做通项。 对于数列{Un}如果当n无限增大时,其通项无限接近于一个常数A,则称该数列以A为极限或称数列收敛于A,否则称数列为发散, 极限值 左…...
