MongoDB常用命令

简介: 本节介绍MongoDB常用命令,涵盖数据库的创建与删除(use、show dbs、dropDatabase)、集合操作(显式/隐式创建、drop)及文档的CRUD。以articledb数据库和comment集合为例,演示数据插入语法及注意事项,如NumberInt使用、_id自动生成等,帮助快速掌握MongoDB基础操作。(239字)

3-MongoDB常用命令
3.1 案例需求
存放文章评论的数据存放到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
}
)
提示:
1)comment集合如果不存在,则会隐式创建
2)mongo中的数字,默认情况下是double类型,如果要存整型,必须使用函数NumberInt(整型数字),否则取出来就有问题了。
3)插入当前日期使用 new Date()
4)插入的数据没有指定 id ,会自动生成主键值
5)如果某字段没值,可以赋值为null,或不写该字段。
执行后,如下,说明插入一个数据成功了。
WriteResult({ "nInserted" : 1 })
注意:
文档中的键/值对是有序的。
文档中的值不仅可以是在双引号里面的字符串,还可以是其他数据类型(甚至可以是整个嵌入文档)。
MongoDB区分类型和大小写。
MongoDB的文档不能有重复的键。
文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。
文档键命名规范:
键不能含有\0 (空字符)。这个字符用来表示键的结尾。
.和$有特别的意义,只有在特定环境下才能使用。
以下划线"
"开头的键是保留的(不是严格要求的)。

相关文章
|
3天前
|
存储 算法 搜索推荐
基础算法
本章介绍基础算法,涵盖加密与排序两大类。加密部分包括对称加密(如AES、SM4)、非对称加密(如RSA、SM2)、哈希摘要(如SHA-2、SM3)、电子签名及密码安全存储方案(如加盐、BCrypt)。排序部分讲解常见算法:冒泡、快排、归并、堆排序等,分析其时间复杂度与适用场景,并区分比较类与非比较类排序方法,强调实际应用中多采用混合策略以提升效率。(239字)
|
17天前
|
机器学习/深度学习 人工智能 监控
构建AI智能体:六十五、模型智能训练控制:早停机制在深度学习中的应用解析
文章摘要:早停机制是深度学习中防止过拟合的关键技术,通过在验证集性能停止改善时终止训练,自动平衡模型复杂度和泛化能力。其核心价值包括自动防过拟合、提升训练效率(节省30-80%计算资源)、简化调参过程。关键参数设置涉及patience(容忍轮次)、min_delta(最小改善阈值)和restore_best_weights(恢复最佳权重)。实现流程包括训练轮次监控、验证集评估和性能改善判断,通过U型曲线分析可直观理解其工作原理。
159 20
|
12天前
|
SQL HIVE
十一、Hive JOIN 连接查询
在 Hive 的世界里,JOIN 就像是数据间的红线,把原本分散在各自表里的信息串联起来。无论是内连接、外连接,还是 Hive 特有的左半连接,都各有“武功招式”,适用于不同场景。
95 12
|
18天前
|
供应链 搜索推荐 API
1688图片搜索相似商品API指南
1688图片搜索相似商品API基于图像识别技术,支持通过图片查找平台内相似商品,提供商品信息与相似度评分,适用于以图搜货、比价、供应链寻源等场景,提升采购效率。
|
21天前
|
安全 Cloud Native Serverless
2025数字员工技术选型白皮书:阿里云/亚马逊等5款产品云原生能力实测
本文深度评测阿里云、亚马逊、科大讯飞、玄晶引擎、安恒五款数字员工,围绕架构兼容性、开发友好度、性能稳定性三大维度,结合实测数据与企业案例,为开发者提供选型指南与避坑建议。
195 5
|
2月前
|
存储 分布式计算 数据库
ETL vs ELT:到底谁更牛?别被名字骗了,这俩是两种世界观
ETL vs ELT:到底谁更牛?别被名字骗了,这俩是两种世界观
125 12
|
3月前
|
人工智能 自然语言处理 安全
氛围编程陷阱:为什么AI生成代码正在制造大量"伪开发者"
AI兴起催生“氛围编程”——用自然语言生成代码,看似高效实则陷阱。它让人跳过编程基本功,沦为只会提示、不懂原理的“中间商”。真实案例显示,此类项目易崩溃、难维护,安全漏洞频出。AI是技能倍增器,非替代品;真正强大的开发者,永远是那些基础扎实、能独立解决问题的人。
280 11
氛围编程陷阱:为什么AI生成代码正在制造大量"伪开发者"
|
9天前
|
机器学习/深度学习 人工智能 数据可视化
构建AI智能体:七十三、模型的成绩单:一文读懂损失函数,看懂AI如何学习
本文系统介绍了损失函数在机器学习中的核心作用。首先通过类比教学场景,阐释损失函数作为模型"导师"的重要性。随后详细解析了回归任务中的均方误差(MSE)和平均绝对误差(MAE),通过房价预测案例展示了它们对误差的不同处理方式。在分类任务部分,重点讲解了二分类和多分类交叉熵损失函数,使用垃圾邮件识别和图像分类等实例,说明这些函数如何通过概率计算来评估预测准确性。文章通过可视化图表直观呈现了不同损失函数的特点,并强调损失函数作为模型优化的指南针,其设计直接影响学习效果。
124 20
|
10天前
|
机器学习/深度学习 数据采集 人工智能
构建AI智能体:七十二、交叉验证:从模型评估的基石到大模型时代的演进
交叉验证是机器学习中评估模型性能的核心方法,通过轮换数据划分实现稳健评估。文章系统解析了k折交叉验证的原理与实现,展示其在模型比较和超参数优化中的关键作用。随着大模型时代的到来,传统交叉验证面临计算成本挑战,但核心思想仍应用于下游任务。文章通过可视化案例完整呈现了从数据准备到最终评估的工作流程,强调交叉验证在有限数据场景下的不可替代性,同时指出需要根据任务规模灵活选择评估策略。理解交叉验证的原理与应用是AI从业者的必备能力。
114 16