删除 MongoDB 数据库中的集合
在本文中,将详细讨论 MongoDB 中删除集合的问题,并解释 MongoDB 中用于删除集合的不同方法及其查询。
MongoDB 删除集合
MongoDB 删除集合有两种方式; 在 MongoDB 数据库服务器中执行 drop 命令后,输出将为 true 或 false。 如果该集合存在于数据库中并且将被成功删除,则结果将为真。
如果该集合在数据库中不存在且无法适当删除,则结果将为 false。
使用 drop 和 remove 方法从 MongoDB 中删除集合。 卸载集合时,还必须指定集合名称。
使用 drop() 方法
要从 MongoDB 数据库中删除集合,请使用 db.collection.drop()
函数。 它从数据库中删除一个集合并删除任何关联的索引。
-
db.collection.drop()
函数和 drop 命令为在丢弃的集合上打开的任何更改流生成一个无效事件。 -
db.collection.drop()
方法和 drop 命令在删除目标集合之前停止在目标集合上构建正在进行的索引。 在 MongoDB 4.4 之前尝试转储具有正在进行的索引构建的集合会导致错误,但不会删除该集合。中止主索引构建不会取消副本集或分片副本集的二级索引构建。 相反,MongoDB 会尝试停止主节点上指定索引的正在进行的构建,如果成功,则会生成一个中止操作日志项。
具有复制的正在进行的构建的次要成员在提交或中止索引构建之前等待主要成员提交或中止操作日志项。
- 从 MongoDB 4.0.2 开始,删除集合会删除连接的区域/标记范围。
- 从 MongoDB 5.0 开始,如果您尝试从 mongos 中删除管理数据库或配置数据库中的集合,则 drop 命令和 db.collection.drop() 方法将返回错误。 改为连接到配置服务器并运行命令以删除这些集合。
语法:
db.collection_database.drop()
集合数据库在上述语法中指定为集合的名称,用于将其从数据库服务器中删除。
使用 remove() 方法
要从集合中删除文档,请使用 db.collection.remove()
函数。
语法:
db.collection_database.remove ({})
集合数据库在前面的语法中定义为必须从中删除文档的位置。 因此,如果您为 remove 方法提供空结果集 ()
,它将删除所有集合记录。
db.collection_name.remove (<query>, {Writeconcern, justone})
查询参数被定义为根据查询参数从集合中删除单个项目的能力。
只定义了一个参数,它从集合中删除了一个文档。 必须通过将关键字设置为 true 来启用它。
在选择标准中使用 true 关键字后,只有一条记录被淘汰。 如果您没有在我们的选择标准中使用 true 关键字,您将删除集合中的所有文章。
使用 Writeconcern 时,默认使用 writeconcern 被绕过。
remove()
方法的参数:
- query - 查询运算符用于提供删除条件。 例如,传递一个空文档 () 将删除集合中的所有文档。
- justOne - 如果设置为 true,删除将仅限于一个文档。 在不使用 false 默认值的情况下删除所有符合删除标准的文档。
- writeConcern - 一份表达书面担忧的文件。 省略默认的 writeconcern。
删除 MongoDB 中的集合
如果要删除整个集合及其索引,可以使用 drop 方法从数据库中删除任何集合,包括其索引。 drop 方法将从数据库服务器中删除集合及其索引。
使用 remove 方法,您可以从集合中删除某些文档。 remove 方法删除集合中的所有文档,但索引保留在数据库服务器上,不会被删除。
从数据库服务器中删除一个集合后,将显示两个结果集。
- True
- False
以下查询演示了当从数据库服务器中删除集合时,结果集将显示真值。 例如,下面的查询结果为真。
结果集将显示为 true,因为数据库服务器已删除该集合。
show collections
db.test1.drop()
show collections
以上查询结果为假。 结果集中的输出将为 false,因为集合尚未从数据库服务器中删除或不存在于数据库中。
在从中删除集合之前,您必须首先连接到有问题的数据库。 如果您没有连接到或访问指定的数据库,则不会删除该集合。
下面的查询演示了如何在从数据库中删除集合之前利用指定的数据库。
db.col_stat.drop()
use test
db.col_stat.drop()
show collections
现在,下面讨论 remove 和 drop 方法的示例查询。
使用 drop() 方法删除集合
首先,使用命令 show dbs 查看可访问数据库的列表。
如果要删除新数据库 mydb>,请使用 dropDatabase()
命令。
数据库清单。
用 remove() 方法从集合中删除所有文档
考虑来自 mycol 数据集的以下数据。
{_id : ObjectId("507f191e810c19729de860e1"), title: "MongoDB Overview"},
{_id : ObjectId("507f191e810c19729de860e2"), title: "NoSQL Overview"},
{_id : ObjectId("507f191e810c19729de860e3"), title: "Tutorials Point Overview"}
以下示例将使用 MongoDB Overview 删除所有记录。
只删除一个
如果有很多记录并且您想删除第一条记录,请使用 remove() 函数中的 justOne 选项。
>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
删除所有文档
如果没有指定的删除条件,MongoDB 将从集合中删除整个文档。 这是 SQL 截断命令的对应项。
db.mycol.find()
之后不会显示任何内容,因为所有数据都已从数据库中删除。
使用命令行删除 MongoDB 中的数据库
删除 Mongo 数据库的最简单方法是从命令行运行 mongo shell 命令,并使用相关标志和参数告诉 mongo shell 您要删除数据库。
最基本的 mongo shell 命令可用于立即连接到特定数据库。 在此示例中,它用于从我们服务器的 bash 提示符连接到数据库书店。
$ mongo bookstore
MongoDB shell version: 3.0.9
connecting to: bookstore
无需连接到我们的书店数据库并从 mongo shell 执行命令,您可以提供 eval 标志,后跟您希望 MongoDB 执行的 JavaScript 代码。 我们的数据库可以轻松地在一行中使用 dumped。
您希望在这种情况下删除数据库; 因此,您将使用 db.dropDatabase() 函数来销毁您连接的数据库。 虽然这不是必需的,但您将使用 printjson 函数包装此方法,以确保此命令的输出有意义且易于理解。
你不需要 heredocs 或 eval,mongo 可以充当解释器。
var db = new Mongo().getDB("someDatabase");
db.dropDatabase();
本文解释了如何使用 drop 方法; 您可以删除集合及其索引,并使用 remove 方法; 您可以从集合中删除单个或所有文档。
如果该集合存在于数据库中,则结果集会将结果显示为 true,显示 false 输出。 此外,解释了使用命令行删除或删除 MongoDB 中的集合。
相关文章
在 MongoDB Shell 中列出所有数据库
发布时间:2023/05/11 浏览次数:75 分类:MongoDB
-
交互式 Mongo Shell 提供了多个用于获取数据的选项。 本文介绍了在 Mongo Shell 中列出数据库的几种不同方法。
MongoDB 中检查字段包含的字符串
发布时间:2023/05/11 浏览次数:137 分类:MongoDB
-
这篇文章解决了如何在 MongoDB 中使用正则表达式来确定字段是否包含字符串。在 MongoDB 中使用正则表达式 正则表达式 (regex) 是定义搜索模式的文本字符串。
在 MongoDB 中 upsert 更新插入
发布时间:2023/05/11 浏览次数:162 分类:MongoDB
-
在 MongoDB 中,upsert 结合了更新和插入命令。 它可以在 update() 和 findAndModify() 操作中使用。MongoDB 中的 upsert 查询 upsert 采用单个布尔参数。
如何卸载 MongoDB
发布时间:2023/05/11 浏览次数:180 分类:MongoDB
-
要从您的计算机中卸载 MongoDB,您必须先删除 MongoDB 服务、数据库和日志文件。使用这篇 MongoDB 文章,您将能够从 Ubuntu Linux、Mac 和 Windows 卸载 MongoDB。 请务必保留数据备份,因为一旦卸载,便
在 MongoDB 中存储日期和时间
发布时间:2023/05/11 浏览次数:199 分类:MongoDB
-
本 MongoDB 教程解释了 Date() 对象是什么以及如何使用 Date() 方法对集合进行排序。 这也将帮助您找到在 MongoDB 中显示和存储日期/时间的最佳方法。
MongoDB 按 ID 查找
发布时间:2023/05/11 浏览次数:139 分类:MongoDB
-
MongoDB 中的 find by Id() 函数用于获取与用户提供的 id 相匹配的文档。 如果找不到与指定 ID 匹配的文档,则返回空值。
检查 MongoDB 服务器是否正在运行
发布时间:2023/05/11 浏览次数:127 分类:MongoDB
-
这篇 MongoDB 教程将告诉您如何检查是否安装了 MongoDB 以及安装的 MongoDB 服务器的版本。 它在 Windows、UBUNTU 和 MAC 等不同的操作系统中实现。
MongoDB 中的分页
发布时间:2023/05/11 浏览次数:140 分类:MongoDB
-
这篇文章将介绍什么是 MongoDB 中的分页。 为什么在 MongoDB 中需要分页以及在 MongoDB 中完成分页的不同方法或方式是什么。
MongoDB 从查询开始
发布时间:2023/05/11 浏览次数:135 分类:MongoDB
-
在这篇 MongoDB 文章中,用户将学习如何使用 $regex 进行开始查询。 它为查询中的模式匹配字符串提供正则表达式功能。