MongoDB 数据库与集合操作详解

简介: 本文介绍MongoDB中数据库与集合的基本操作。数据按“数据库→集合→文档”层级组织。通过`use`创建或切换数据库,`show dbs`查看列表,`db.dropDatabase()`删除数据库。集合无需显式创建,插入文档时自动生,也可用`createCollection`手动创建。使用`show collections`查看集合,`drop()`删除集合。注意命名规范及保留名如admin、local等。

在 MongoDB 中,数据以“数据库 → 集合 → 文档”的层级结构组织。掌握数据库和集合的基本操作,是使用 MongoDB 的第一步。

一、数据库操作

1. 选择或创建数据库

使用 use 命令即可选择或创建数据库:

use articledb
  • 如果 articledb 不存在,MongoDB 会自动创建(但仅在插入第一条数据后才真正持久化)。
  • 默认数据库为 test,若未显式切换,所有集合将存入 test
2. 查看数据库列表
show dbs
// 或
show databases

⚠️ 注意:刚创建但未写入数据的数据库不会显示在列表中。

3. 查看当前正在使用的数据库
db
4. 删除数据库
db.dropDatabase()

该命令会删除当前选中的数据库及其所有集合和数据。

数据库命名规范提醒

  • 不能是空字符串;
  • 不能包含空格、.$/\\0(空字符);
  • 建议全部小写,长度不超过 64 字节;
  • 以下为保留数据库名,具有特殊用途:
  • admin:权限管理根库,用户在此库中拥有全局权限;
  • local:仅限本地存储,不会被复制到副本集其他节点;
  • config:分片集群中用于存储元数据。

二、集合(Collection)操作

集合相当于关系型数据库中的“表”,用于存储文档。

1. 显式创建集合(了解即可)
db.createCollection("comment")

通常无需显式创建,因为插入文档时会自动创建集合。

2. 查看当前库中的集合
show collections
// 或
show tables
3. 集合命名规则
  • 不能是空字符串;
  • 不能包含 \0 空字符;
  • 不能以 system. 开头(系统保留前缀);
  • 避免在用户集合名中使用 $(除非访问系统自动生成的集合)。
4. 删除集合
db.comment.drop()
  • 成功返回 true,失败返回 false
  • 删除后无法恢复,请谨慎操作。

最佳实践:日常开发中推荐使用隐式创建集合——直接向集合插入文档,MongoDB 会自动创建该集合。


通过以上操作,你可以灵活管理 MongoDB 中的数据库与集合结构,为后续的数据 CRUD 操作打下坚实基础。


相关文章
|
1天前
|
JSON 前端开发 安全
用自定义注解 + 拦截器实现登录鉴权
通过自定义注解 `@Login` 结合 Spring 拦截器,实现声明式登录校验。无需重复编码,自动拦截未登录请求,提升代码可维护性与安全性,适用于前后端分离架构的权限控制实践。
|
1天前
|
测试技术
OAuth2.0测试
本节演示授权码模式测试流程:通过访问指定URL跳转至SpringSecurity登录页,使用系统账户登录后,授权read/write权限,获取授权码并申请访问令牌token,完成OAuth2认证全过程。
OAuth2.0测试
|
1天前
|
存储 安全 数据安全/隐私保护
认识OAuth2.0
OAuth2.0是一种开放授权协议,允许第三方应用在用户授权下安全访问资源,无需获取用户账号密码。其核心是通过令牌(token)机制实现权限控制,广泛用于第三方登录、服务间资源调用等场景。支持多种授权模式,其中授权码模式最安全,适用于Web和移动应用,如微信、QQ登录即基于此模式实现。
认识OAuth2.0
|
1天前
|
安全 Java 数据库
RememberMe基本用法
本文介绍Spring Security中RememberMe功能的实现原理及优化方案。通过配置自动登录,用户勾选后可持久化会话,避免重复登录。系统通过remember-me令牌识别用户,但存在安全风险。为提升安全性,建议将Token持久化至数据库,并增加二次校验机制,防止令牌泄露导致的安全问题。
RememberMe基本用法
|
1天前
|
数据安全/隐私保护
RememberMe简介及用法
RememberMe功能并非简单保存用户名密码,而是服务器端维持登录状态的机制。用户关闭浏览器后重新打开,仍可保持登录,提升体验,区别于传统Session会话需重复登录的方式。
|
1天前
|
安全 Java 数据库
自定义认证实现流程
本文介绍如何在Spring Security中实现自定义用户认证。首先创建自定义UserDetailsService,实现loadUserByUsername方法,从数据库加载用户信息与权限;然后在SecurityConfig中注册该服务,配置登录逻辑与权限规则。通过整合持久层,完成基于数据库的认证流程,重启项目后即可生效。
自定义认证实现流程
|
1天前
|
Java API 数据库
Spring Boot 中的项目属性配置
本课讲解Spring Boot外部化配置,通过`application.yml`管理数据库、API地址等动态参数,避免硬编码。掌握`@Value`读取配置、多环境Profile切换,并了解敏感信息加密与配置中心实践,提升系统灵活性与安全性。(238字)
|
1天前
|
NoSQL 前端开发 BI
MongoDB 分页、排序与统计查询技巧
MongoDB 提供 `count()`、`sort()`、`skip()`、`limit()` 等链式方法,高效实现数据统计、分页与排序。支持多字段排序、条件分页,执行顺序固定为:先排序 → 再跳过 → 后限制数量,适用于各类业务场景的数据查询处理。(239字符)
|
1天前
|
缓存 安全 数据挖掘
数据库设计三范式:从理论到实战
本文深入浅出讲解数据库三范式(1NF、2NF、3NF),通过真实案例解析各范式的核心要求与常见误区,强调“范式是工具而非教条”,帮助开发者在规范性与性能间找到平衡,构建合理、易维护的数据模型。
|
1天前
|
存储 JSON NoSQL
MongoDB 文档的增删改查实战
本文以“文章评论”为例,介绍MongoDB文档的增删改查操作。涵盖单条与批量插入、条件查询、投影筛选、局部更新与原子增减,以及安全删除等核心操作,助你掌握高效数据管理技巧。