MongoDB常用命令

简介: 本案例介绍如何使用MongoDB存储文章评论数据。通过`use articledb`创建并切换数据库,利用`db.createCollection()`显式或插入文档时隐式创建集合。文档以BSON格式存储,使用`insert()`方法添加数据,如评论内容、用户信息等。支持查看数据库与集合、删除操作,并遵循命名规范。适用于掌握MongoDB基本CRUD操作。(238字)

案例需求
存放文章评论的数据存放到MongoDB中,数据结构参考如下: 数据库:articledb

3.2 数据库操作
3.2.1 选择和创建数据库
选择和创建数据库的语法格式:
use 数据库名称
如果数据库不存在则自动创建,例如,以下语句创建 spitdb 数据库:
use articledb
查看有权限查看的所有的数据库命令
show dbs

show databases
注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。
查看当前正在使用的数据库命令
db
MongoDB 中默认的数据库为 test,如果你没有选择数据库,集合将存放在 test 数据库中。 另外:
● 数据库名可以是满足以下条件的任意UTF-8字符串。
● 不能是空字符串("")。
● 不得含有' '(空格)、.、$、/、\和\0 (空字符)。
● 应全部小写。
● 最多64字节。
● 有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库。
admin:从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。
3.2.2 数据库的删除
MongoDB 删除数据库的语法格式如下:
db.dropDatabase()
提示:主要用来删除已经持久化的数据库
3.3 集合操作
集合,类似关系型数据库中的表。 可以显示的创建,也可以隐式的创建。
3.3.1 集合的显式创建(了解)
基本语法格式
db.createCollection(name)
参数说明: name: 要创建的集合名称
例如:创建一个名为 mycollection 的普通集合。
db.createCollection("mycollection")
查看当前库中的表:show tables命令
show collections

show tables
集合的命名规范:
● 集合名不能是空字符串""。
● 集合名不能含有\0字符(空字符),这个字符表示集合名的结尾。
● 集合名不能以"system."开头,这是为系统集合保留的前缀。
● 用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。
● 除非你要访问这种系统创建的集合,否则千万不要在名字里出现$。
3.3.2 集合的隐式创建
当向一个集合中插入一个文档的时候,如果集合不存在,则会自动创建集合。
提示:通常我们使用隐式创建文档即可。
3.3.3 集合的删除
集合删除语法格式如下:
db.collection.drop()

db.集合.drop()
返回值
如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。
例如:要删除mycollection集合
db.mycollection.drop()
3.4 文档基本CRUD
文档(document)的数据结构和 JSON 基本一样。 所有存储在集合中的数据都是 BSON 格式。
3.4.1 文档的插入
(1)单个文档插入
使用insert() 或 save() 方法向集合中插入文档,语法如下:
db.collection.insert(

,
{
writeConcern: ,
ordered:
}
)
【示例】
要向comment的集合(表)中插入一条测试数据:
db.comment.insert(
{
"articleid":"100000",
"content":"今天天气真好,阳光明媚",
"userid":"1001",
"nickname":"Rose",
"createdatetime":new Date(),
"likenum":NumberInt(10),
"state":null
}
)
提示:

相关文章
|
5月前
|
弹性计算 定位技术 数据安全/隐私保护
3分钟部署mc我的世界联机服务器教程——阿里云游戏服务器
我的世界是一款沙盒游戏,玩家可在三维空间中自由创造与探索。阿里云推出一键部署镜像服务,支持快速搭建游戏服务器。提供多种配置选择,包括4核16G和8核32G,费用分别为89元和160元每月,助力玩家轻松畅玩。
|
1天前
|
运维 安全 Devops
生产环境缺陷管理
git-poison基于go-git实现分布式bug追溯,解决多分支开发中bug漏修、漏发等协同难题。通过“投毒-解毒-银针”机制,自动化卡点发布流程,降低沟通成本,避免人为失误,已在大型团队落地一年,显著提升发布安全与效率。
|
1天前
|
存储 Ubuntu Linux
容器化部署引擎Docker
本节介绍Docker技术,解决微服务部署中环境不一致、依赖冲突等问题。通过镜像打包应用及依赖,容器隔离运行,实现跨环境无缝迁移。相比虚拟机,Docker更轻量、启动更快、资源占用少。讲解其核心概念:镜像、容器、仓库,以及Docker Hub等镜像管理服务,帮助开发者高效交付应用。
|
1天前
|
存储 运维 Java
微服务概述
单体应用功能集中,模块耦合度高,维护扩展困难;微服务则将应用按业务拆分为独立服务,各服务可独立开发、部署、扩展,技术栈灵活,边界清晰,提升系统可靠性与可维护性,但带来运维、分布式事务等挑战。
|
1天前
|
SQL XML Java
持久层框架MyBatisPlus
本节介绍MyBatisPlus(MP)快速入门,通过继承BaseMapper并引入MP依赖,简化单表增删改查操作,替代传统MyBatis的重复SQL编写,提升开发效率,实现CRUD零XML配置。
|
1天前
|
安全 Java 应用服务中间件
认识SpringSecurity
Spring Security 是基于过滤器链的鉴权框架,核心功能包括认证(支持表单、OAuth2、JWT等)、鉴权(URL、方法级、RBAC等)及防御CSRF等攻击。通过FilterChainProxy与DelegatingFilterProxy集成到Web容器,实现灵活的安全控制与异常处理。
|
1天前
|
SQL Java 数据库连接
持久层框架MyBatisPlus
本节介绍MyBatisPlus,一款基于MyBatis的增强型ORM框架,简化单表增删改查操作。通过引入`mybatis-plus-boot-starter`并继承`BaseMapper`,即可实现无SQL的CRUD功能,显著提升开发效率。同时支持`@TableName`、`@TableId`、`@TableField`等注解,灵活处理表名、字段映射问题,让数据库操作更简洁、高效。(238字)
|
1天前
|
存储 安全 前端开发
RememberMe简介及用法
RememberMe功能实现用户关闭浏览器后仍保持登录状态,基于服务端机制而非保存账号密码。通过Cookie存储令牌(remember-me),后续请求自动携带并校验,实现免重复登录。但令牌泄露存在安全风险,可通过持久化Token至数据库并增加二次校验提升安全性,避免非法访问。
|
1天前
|
安全 Java Maven
工程搭建与验证
通过阿里云脚手架快速创建Spring Boot项目,结合Initializr生成基础工程,支持Maven/Gradle。本文演示如何导入IDEA、整合Spring Security,验证登录认证,并获取完整代码(GitHub仓库:Herbbbb/SpringSecurity,分支:Day01)。
|
1天前
|
XML Java 数据格式
@Configuration
被 `@Configuration` 标注的类视为Spring配置类,等同于XML配置文件。通过 `@Bean` 可定义Bean,替代XML中的 `<bean>` 标签。结合 `AnnotationConfigApplicationContext` 可启动IOC容器,加载并管理配置类及其中的Bean实例。