MongoDB 常用操作指南(Docker 环境下)

本文详细介绍如何在 Docker 中操作 MongoDB,包括如何进入命令行、进行用户认证、查看数据库和集合,以及常用的索引操作和其他高频使用的 MongoDB 方法。小白也能轻松上手


1. 在 Docker 中进入 MongoDB 命令行

  1. 进入运行 MongoDB 容器的命令行:

    docker exec -it <容器名称或ID> mongo
    

    例如:

    docker exec -it mongodb_container mongo
    
  2. 切换到管理员数据库 admin

    use admin
    
  3. 用户认证:

    db.auth("aidenmx", "qazx123")
    db.auth("aiden", "qazx123")
    

    提示:这里假设您的用户名为 aidenmxaiden,密码为 qazx123。根据实际情况替换。通常只需一次认证。


2. 查看数据库和集合

  1. 显示所有数据库:

    show dbs
    
  2. 切换到某个数据库:

    use history
    
  3. 显示当前数据库的所有集合(表):

    show tables
    

3. 查看集合中的索引

查看指定集合中的索引信息:

db.<集合名>.getIndexes()

例如:

db.sublist2.getIndexes()

输出会显示所有索引的详细信息,包括索引字段和索引类型。


4. 创建索引

4.1 创建单字段索引

为某个字段创建索引:

db.<集合名>.createIndex({ <字段名>: 1 })
  • 1 表示升序索引,-1 表示降序索引。

例如:

db.sublist2.createIndex({ applicationNumber: 1 })

4.2 创建复合索引

为多个字段创建复合索引:

db.<集合名>.createIndex({ <字段1>: 1, <字段2>: -1 })
  • 注意字段顺序,前缀规则适用。

例如:

db.sublist2.createIndex({ applicationNumber: 1, classNumber: -1 })

5. 删除索引

  1. 删除单个索引:

    db.<集合名>.dropIndex("<索引名>")
    

    获取索引名可通过 getIndexes() 查看。

  2. 删除集合中的所有索引:

    db.<集合名>.dropIndexes()
    

6. 查询相关操作

  1. 查询所有文档:

    db.<集合名>.find()
    
  2. 查询第一个文档:

    db.<集合名>.findOne()
    
  3. 条件查询:

    db.<集合名>.find({ <字段名>: <> })
    

    例如:

    db.sublist2.find({ applicationNumber: "123456" })
    
  4. 限制返回条数:

    db.<集合名>.find().limit(10)
    
  5. 排序查询:

    db.<集合名>.find().sort({ <字段名>: 1 })
    
    • 1 表示升序,-1 表示降序。

7. 插入与删除操作

  1. 插入单个文档:

    db.<集合名>.insertOne({ <字段1>: <1>, <字段2>: <2> })
    

    例如:

    db.sublist2.insertOne({ applicationNumber: "123456", classNumber: 5 })
    
  2. 删除符合条件的文档:

    db.<集合名>.deleteOne({ <字段名>: <> })
    

    例如:

    db.sublist2.deleteOne({ applicationNumber: "123456" })
    
  3. 删除所有文档:

    db.<集合名>.deleteMany({})
    

8. 更新操作

  1. 更新单个文档:

    db.<集合名>.updateOne({ <匹配条件> },{ $set: { <字段1>: <新值1>, <字段2>: <新值2> } }
    )
    

    例如:

    db.sublist2.updateOne({ applicationNumber: "123456" },{ $set: { classNumber: 10 } }
    )
    
  2. 更新多个文档:

    db.<集合名>.updateMany({ <匹配条件> },{ $set: { <字段1>: <新值1>, <字段2>: <新值2> } }
    )
    

9. 数据统计

  1. 查看集合中文档数量:

    db.<集合名>.countDocuments()
    
  2. 按条件统计文档数量:

    db.<集合名>.countDocuments({ <字段名>: <> })
    

    例如:

    db.sublist2.countDocuments({ classNumber: 5 })
    

通过上述命令,您可以高效地操作 MongoDB 数据库。直接复制粘贴使用即可!

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

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

相关文章

修炼内功之函数栈帧的创建与销毁

修炼内功之函数栈帧的创建与销毁 一 前置知识&#xff08;1&#xff09;栈&#xff08;2&#xff09;相关寄存器和汇编指令 二 函数栈帧三 代码演示函数栈帧的创建&#xff08;1&#xff09;代码演示&#xff08;2&#xff09;函数栈帧逐帧分析 四 对开篇问题的解答 相信来CSDN…

学习threejs,THREE.PlaneGeometry 二维平面几何体

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️HREE.PlaneGeometry 二维平…

SpringCloud 入门(4)—— 网关

上一篇&#xff1a;SpringCloud 入门&#xff08;3&#xff09;—— Nacos配置中心-CSDN博客 Spring Cloud Gateway 作为 Spring Cloud 生态系统的一部分&#xff0c;主要在微服务架构中充当 API 网关的角色。它提供了统一的入口点来处理所有的 HTTP 请求&#xff0c;并将这些请…

石岩基督教福音堂

周末娃&#xff0c;娃的阿婆和我一起去石岩基督教福音堂做礼拜。 这是我第一次进入石岩的教堂。教堂很高。应该有3,4层楼高。 这周末做礼拜的人很多一楼人满了&#xff0c;阿婆去二楼做礼拜&#xff0c;娃和我去三楼的儿童室。很多家长楼下做礼拜&#xff0c;小朋友被安排三楼…

论文《Vertical Federated Learning: Concepts, Advances, and Challenges》阅读

论文《Vertical Federated Learning: Concepts, Advances, and Challenges》阅读 论文概况纵向联邦VFL框架介绍问题定义VFL 训练协议 对通信效率的优化对性能的优化自监督方案&#xff08;Self-Supervised Approaches&#xff09;半监督方案&#xff08;Semi-Supervised Approa…

如何用gpt来分析链接里面的内容(比如分析论文链接)和分析包含多个文件中的一块代码

如何用gpt来分析链接里面的内容&#xff0c;方法如下 这里使用gpt4里面有一个网路的功能 点击搜索框下面这个地球的形状即可启动搜索网页模式 然后即可提出问题在搜索框里&#xff1a;发现正确识别和分析了链接里面的内容 链接如下&#xff1a;https://arxiv.org/pdf/2009.1…

本地部署webrtc应用怎么把http协议改成https协议?

环境&#xff1a; WSL2 Ubuntu22.04 webrtc视频聊天应用 问题描述&#xff1a; 本地部署webrtc应用怎么把http协议改成https协议&#xff1f; http协议在安卓手机浏览器上用不了麦克风本&#xff0c;来地应用webrtc 本来是http协议&#xff0c;在安卓手机上浏览器不支持使…

面向未来的教育技术:智能成绩管理系统的开发

3.1 可行性研究 成绩管理系统开发实现分析需要从不同的角度来进行分析可行性&#xff0c;比如从时间角度&#xff0c;经济角度&#xff0c;甚至操作角度。从不同的角度分析可行性会让成绩管理系统开发具体化&#xff0c;进而达到辩证开发的正确性。 3.1.1 经济可行性 从经济方面…

zabbix监控山石系列Hillstone监控模版(适用于zabbix7及以上)

监控项&#xff1a; 触发器&#xff1a; 监控数据如下&#xff1a;

UE5 渲染管线 学习笔记

兰伯特 SSS为散射的意思 带Bias的可以根据距离自动切换mip的卷积值 而带Level的值mipmaps的定值 #define A8_SAMPLE_MASK .a 这样应该就很好理解了 这个只采样a通道 带Level的参考上面的 朝左上和右下进行模糊 带Bias参考上面 随机数 4D 3D 2D 1D

ArcGIS Pro 3.4新功能3:空间统计新特性,基于森林和增强分类与回归,过滤空间自相关

目录 应用 1&#xff1a;它是相关性还是托布勒第一定律&#xff1f; 应用 2&#xff1a;将空间带入非空间模型 结论 在 ArcGIS Pro 3.4 中&#xff0c;我们在新的空间组件实用程序&#xff08;Moran 特征向量&#xff09;工具集中发布了一个新工具 - 从字段过滤空间自相关。…

【微信小程序】2|轮播图 | 我的咖啡店-综合实训

轮播图 引言 在微信小程序中&#xff0c;轮播图是一种常见的用户界面元素&#xff0c;用于展示广告、产品图片等。本文将通过“我的咖啡店”小程序的轮播图实现&#xff0c;详细介绍如何在微信小程序中创建和管理轮播图。 轮播图数据准备 首先&#xff0c;在home.js文件中&a…

vue3封装而成的APP ,在版本更新后,页面显示空白

一、问题展示 更新之后页面空白&#xff0c;打不开 &#xff0c;主要是由于缓存造成的 二、解决办法 1、随机数代码实现 使用随机数来动态的生成静态资源目录名可以避免浏览器缓存&#xff0c;但同时每次也会导致浏览器每次都下载最新的资源。如果静态资源过大&#xff0c;可…

JAVA HTTP压缩数据

/*** 压缩数据包** param code* param data* param resp* throws IOException*/protected void writeZipResult(int code, Object data, HttpServletResponse resp) throws IOException {resp.setHeader("Content-Encoding", "gzip");// write到客户端resp…

京东零售数据可视化平台产品实践与思考

导读 本次分享题目为京东零售数据可视化平台产品实践与思考。 主要包括以下四个部分&#xff1a; 1. 平台产品能力介绍 2. 业务赋能案例分享 3. 平台建设挑战与展望 作者&#xff1a;梁臣 京东 数据产品架构师 01平台产品能力介绍 1. 产品矩阵 数据可视化产品是一种利用…

springBoot Maven 剔除无用的jar引用

目录 Used undeclared dependencies found Unused declared dependencies found 当项目经过一段时间的开发和维护后&#xff0c;经常会遇到项目打包速度变慢的问题。这通常与项目中包含大量的jar依赖有关&#xff0c;这些依赖之间的关系错综复杂。这种情况在项目维护过程中是…

Apache RocketMQ 5.1.3安装部署文档

官方文档不好使&#xff0c;可以说是一坨… 关键词&#xff1a;Apache RocketMQ 5.0 JDK 17 废话少说&#xff0c;开整。 1.版本 官网地址&#xff0c;版本如下。 https://rocketmq.apache.org/download2.配置文件 2.1namesrv端口 在ROCKETMQ_HOME/conf下 新增namesrv.pro…

uniapp Native.js原生arr插件服务发送广播到uniapp页面中

前言 最近搞了个设备&#xff0c;需求是读取m1卡&#xff0c;厂家给了个安卓原生demo&#xff0c;接入arr插件如下&#xff0c;接入后发现还是少了一部分代码&#xff0c;设备服务调起后触发刷卡无法发送到uniapp里。 中间是一些踩坑记录&#xff0c;最后面是解决办法&#xf…

实践KDTS-WEB从mysql迁移到kingbasev9

数据库国产化替代数据迁移是一个复杂且关键的过程。这涉及到将原有数据库中的数据准确、完整地迁移到新的国产数据库中&#xff0c;同时确保数据的完整性和一致性。人大金仓提供了强大的数据库迁移工具&#xff08;KDTS&#xff09;对同构、异构数据库数据迁移&#xff1b; 数…

nmap扫描优化

扫描优化用来提高扫描效率。当描一个大范围网络中的主机时&#xff0c;如果使用通用的方法可能需要很长的时间&#xff0c;此时可以使用一些特定选项进行扫描优化&#xff0c;以提高扫描效率。Nmap提供了几种优化方式&#xff0c;如分组扫描、设置发包方式和超时时间等。 分组…