当前位置: 首页 > news >正文

Java-145 深入浅出 MongoDB 基本操作详解:数据库查看、切换、创建集合与删除完整教程

点一下关注吧!!!非常感谢!!持续更新!!!

🚀 AI篇持续更新中!(长期更新)

AI炼丹日志-31- 千呼万唤始出来 GPT-5 发布!“快的模型 + 深度思考模型 + 实时路由”,持续打造实用AI工具指南!📐🤖

💻 Java篇正式开启!(300篇)

目前2025年10月07日更新到:
Java-141 深入浅出 MySQL Spring事务失效的常见场景与解决方案详解(3)
MyBatis 已完结,Spring 已完结,Nginx已完结,Tomcat已完结,分布式服务正在更新!深入浅出助你打牢基础!

📊 大数据板块已完成多项干货更新(300篇):

包括 Hadoop、Hive、Kafka、Flink、ClickHouse、Elasticsearch 等二十余项核心组件,覆盖离线+实时数仓全栈!
大数据-278 Spark MLib - 基础介绍 机器学习算法 梯度提升树 GBDT案例 详解

请添加图片描述

基本操作

查看数据库

在 MongoDB 中,show dbs 命令用于列出当前 MongoDB 实例中的所有数据库及其存储大小。这个命令对于数据库管理和监控非常有用。

命令语法

show dbs;

命令说明

  1. 该命令会显示所有非空数据库
  2. 每个数据库会显示其名称和占用空间大小(以MB为单位)
  3. 系统默认会显示三个数据库:
    • admin:存储用户权限信息
    • local:存储本地单服务器特定数据
    • config:存储分片集群配置信息

示例输出

admin   0.000GB
config  0.000GB
local   0.000GB
mydb    0.045GB
test    0.002GB

注意事项

  1. 新创建的数据库如果没有数据,不会显示在列表中
  2. 需要具有适当的权限才能查看所有数据库
  3. 在分片集群中,该命令只显示主分片上的数据库

相关命令

  • use <dbname>:切换到指定数据库
  • db.dropDatabase():删除当前数据库
  • db.stats():查看当前数据库的统计信息

我们启动一个连接的Shell,进行测试:
在这里插入图片描述

切换数据库

在 MongoDB 中,use 命令用于切换当前操作的数据库。这个命令既可用于创建新数据库,也可用于切换到已存在的数据库。

语法说明

use database_name;

其中:

  • database_name 是目标数据库的名称
  • 如果数据库不存在,MongoDB 会在第一次向该数据库写入数据时自动创建它

使用示例

  1. 切换到已存在的 “test” 数据库:
use test;
  1. 创建并切换到新数据库 “mydb”:
use mydb;

注意事项

  • 切换数据库后,所有后续操作(如集合创建、数据插入等)都将在该数据库上执行
  • 要查看当前正在使用的数据库,可以使用 db 命令
  • 要列出所有数据库,可以使用 show dbs 命令
  • 新创建的数据库只有在插入数据后才会显示在数据库列表中

应用场景

  • 开发过程中需要操作不同的数据库
  • 测试环境与生产环境的数据库切换
  • 多租户应用中的数据库隔离

比如我这里:

use local;

在这里插入图片描述

创建集合

基本语法

在MongoDB中,可以使用db.createCollection()方法来创建一个新的集合。基础语法如下:

db.createCollection(name, options)
  • name:要创建的集合名称(字符串类型)
  • options:可选参数,用于指定集合的配置选项

创建wzk集合示例

db.createCollection("wzk")

这个命令会在当前数据库中创建一个名为"wzk"的集合。如果创建成功,MongoDB会返回:

{ "ok" : 1 }

可选参数说明

可以为集合指定额外的配置选项,例如:

db.createCollection("wzk", {capped: true,       // 是否为固定集合size: 100000,       // 固定集合的最大大小(字节)max: 500            // 固定集合允许的最大文档数
})

实际应用场景

  1. 日志存储:创建固定集合(capped collection)来存储日志,自动淘汰旧数据
  2. 临时数据:为特定业务创建专用集合
  3. 数据分片:为分片集群创建初始集合

注意事项

  • 集合名称区分大小写
  • 集合名称不能包含特殊字符(如$)
  • 如果集合已存在,该命令不会覆盖原有集合
    在这里插入图片描述

查看集合

在 MongoDB 中,集合(Collection)类似于关系型数据库中的表(Table)。要查看当前数据库中的所有集合,可以使用以下命令:

show tables;

或者

show collections;

说明:

  1. 这两个命令功能完全相同,都会显示当前数据库中的所有集合名称
  2. 使用前需要先选择数据库(通过 use 数据库名 命令)
  3. 显示结果不包括系统集合(如system.indexes),要查看系统集合需要使用 db.getCollectionNames()

示例:

假设当前数据库为"test",包含三个集合:users, products, orders

执行命令后会显示:

> show collections;
users
products
orders

其他相关命令:

# 查看集合详细信息(包括系统集合)
db.getCollectionInfos()# 查看特定集合的状态信息
db.collection.stats()

在这里插入图片描述

删除集合

语法说明

在MongoDB中删除集合可以使用db.collection.drop()方法。该方法会完全删除指定的集合及其所有文档、索引等关联数据。

基本语法:

db.<collection_name>.drop()

参数说明

  • collection_name:要删除的集合名称

执行示例

db.wzk.drop();

返回值

  • 成功删除时返回true
  • 集合不存在时返回false

注意事项

  1. 删除操作不可逆,执行前请确认数据已备份或不再需要
  2. 删除集合会同时删除该集合的所有索引
  3. 需要具备相应的数据库权限才能执行此操作
  4. 在生产环境执行前建议先确认集合大小:db.wzk.stats()

替代方案

如果只是想清空集合数据而保留集合结构,可以考虑使用:

db.wzk.deleteMany({})

应用场景

  1. 测试环境数据清理
  2. 重构数据库结构
  3. 临时数据清理
  4. 数据迁移前的准备工作

删除掉集合
在这里插入图片描述

删除当前数据库

db.dropDatabase() 是 MongoDB 中用于删除当前所在数据库的命令。这个命令会永久删除整个数据库及其所有集合和文档,执行前请务必确认。

使用说明

  1. 基本语法
db.dropDatabase()
  1. 执行步骤

    • 首先通过 use 命令切换到目标数据库
    • 然后执行 db.dropDatabase()
    • 命令会返回删除操作的结果信息
  2. 示例

> use testdb  # 切换到testdb数据库
switched to db testdb
> db.dropDatabase()  # 删除当前数据库
{ "dropped" : "testdb", "ok" : 1 }
  1. 注意事项

    • 删除操作不可逆
    • 需要具有足够的权限
    • 在生产环境使用时需特别谨慎
    • 建议在执行前先备份重要数据
  2. 应用场景

    • 测试环境重置
    • 清理废弃数据库
    • 开发环境重建数据结构
  3. 替代方案

    • 如果只是想清空数据而不删除数据库,可以考虑使用 db.collection.drop() 逐个删除集合
    • 或者使用 db.collection.remove({}) 清空集合内的文档
http://www.dtcms.com/a/465409.html

相关文章:

  • disable-devtool 网络安全 禁止打开控制台
  • TCP协议的可靠性保障
  • ktv支付订房网站模板商业策划书范文6篇
  • 十一、OpenCV中图形的绘制
  • 用户中心网站设计北京社保网址
  • 安卓13_ROM修改定制化-----如何给安卓手机里安装或者内置数字证书文件 cer类型的证书文件如何转换为可内置文件
  • 仿mudou——Connection模块(连接管理)
  • vue3 + el-upload组件集成阿里云视频点播从本地上传至点播存储
  • 外贸网站是用什么软件做的法制教育网站
  • c/c++字符串比较
  • 国外建站公司上海企业自助建站系统
  • AI 生产工艺参数优化:中小型制造企业用 “智能调参“ 提升产品合格率与生产效率
  • 《Linux基础入门指令》:从零开始理解Linux系统
  • NVIDIA HGX H100 GPU 服务器现已在 DigitalOcean 欧洲数据中心上线
  • 工程师招聘网站住建局网站官网
  • SAP-ABAP:SAP中的用户确认对话框:深入理解与实践POPUP_TO_CONFIRM
  • 购物网站上分期怎么做的广东移动手机营业厅网站
  • 云辉泵阀通过订单日记实现流程重构之路
  • 黑马商城微服务项目准备工作并了解什么是微服务、SpringCloud
  • 濮阳市城乡建设管理局网站怎么建网站
  • 腾讯云网站建设教学视频免费行情软件有哪些
  • 电子商务网站建设技术解决方案别人给公司做的网站字体侵权吗
  • 软考软件设计师常考知识点:(三)数据结构
  • 双向链表----“双轨联动,高效运行” (第九讲)
  • CEX-DEX 稳定币套利模型
  • 【C++STL :list类 (一) 】C++98 完全指南:std::list 详解与源码剖析
  • shell脚本02
  • 【PM2】PM2 集群模式适用的场景
  • 保定网站建设方案外包南宁网站建设哪
  • 做网站建设费用预算百度贴吧网站开发需求分析