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
}
)
提示:

相关文章
【ElasticSearch】关于es跨域的问题
【ElasticSearch】关于es跨域的问题
861 1
|
NoSQL 安全 Java
SpringBoot系列(2)整合MongoDB实现增删改查(完整案例)
自己本科时候一直使用的是Mysql,目前的课题组使用的是MongoDB,因此就花了一部分时间整理了一下,实现springboot与MongoDB的整合,并且实现基本的增删改查操作,从头到尾给出一个完整的案例。
1796 0
SpringBoot系列(2)整合MongoDB实现增删改查(完整案例)
|
存储 SQL NoSQL
ClickHouse和Doris超大数据集存储
ClickHouse和Doris超大数据集存储
2410 0
|
JSON 前端开发 Java
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
利用Spring Boot处理JSON数据实战(包括jQuery,html,ajax)附源码 超详细
830 0
|
11月前
|
Dubbo Java 应用服务中间件
Feign远程调用
本章介绍Feign如何优雅替代RestTemplate实现HTTP跨服务调用。通过引入Feign,结合注解声明远程接口,避免服务地址硬编码,提升代码可读性与维护性,并支持自定义日志、编码等配置,实现高效、简洁的微服务通信方案。
|
11月前
|
运维 Java Nacos
Nacos配置中心
本章基于Nacos实现配置中心,解决微服务架构中配置管理难题。通过引入nacos-config依赖与bootstrap.yaml文件,实现应用启动时优先加载远程配置,动态获取userservice-dev.yaml等环境配置,支持热更新、集中化管理,提升系统可用性与运维效率。
|
SQL Oracle 关系型数据库
调整OceanBase数据库的系统时间,即使只调小1秒导致异常并不是正常现象
【2月更文挑战第21天】调整OceanBase数据库的系统时间,即使只调小1秒导致异常并不是正常现象
846 7
|
前端开发 PHP 数据格式
【附带效果视频】php接口给前端返回流式数据,php使用event-stream进行数据推送,循环一次输出一次
【附带效果视频】php接口给前端返回流式数据,php使用event-stream进行数据推送,循环一次输出一次
877 0
|
关系型数据库 MySQL 数据库
深入OceanBase分布式数据库:MySQL 模式下的 SQL 基本操作
深入OceanBase分布式数据库:MySQL 模式下的 SQL 基本操作
|
easyexcel
EasyExcel写入内容匹配不上解决方法
EasyExcel写入内容匹配不上解决方法
830 0