迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > MongoDB >

清除或删除 MongoDB 中的集合

作者:迹忆客 最近更新:2023/04/21 浏览次数:

本文将讨论MongoDB中删除集合的问题。 下面分别介绍MongoDB中删除集合的不同方法。


MongoDB 删除集合

MongoDB 删除集合有两种方式。 在 MongoDB 数据库服务器中运行 drop 命令后,输出将采用 true 或 false 格式。

如果该集合存在于数据库中并且将被成功删除,则结果为真。 如果该集合在数据库中不存在且无法适当删除,则结果将为 false。

要从 MongoDB 中删除集合,请使用 drop 和 remove 方法。 删除集合时,您必须另外提供集合名称。


在 MongoDB 中使用 drop() 方法

要从 MongoDB 中的数据库中删除集合,请使用 db.collection.drop() 方法。 它从数据库中删除一个集合,并且不留下任何与之相关的索引。

drop() 方法如何工作:

  1. db.collection.drop() 方法和 drop 命令为在丢弃的集合上打开的任何更改流创建一个 invalidate 事件。
  2. 在 MongoDB 4.4 之前尝试删除具有正在进行的索引构建的集合会导致错误,并且不会丢弃该集合。 中止主索引构建不会中止为副本集或分片副本集创建的二级索引。

    相反,MongoDB 会尝试终止主节点上给定索引的正在进行的构建,如果成功则写入一个中止操作日志项。 在提交或中止索引构建之前,具有复制的正在进行的构建的次要成员等待提交或中止来自主要的操作日志条目。

  3. 从 MongoDB 4.0.2 开始,删除集合会删除其关联的区域/标记范围。
  4. 如果您尝试从 MongoDB 5.0 开始从 mongos 中删除管理数据库或配置数据库中的集合,则删除命令和 db.collection.drop() 函数将产生错误。 相反,连接到配置服务器并执行删除这些集合的命令。

语法:

db.collection_database.drop()

在上面的语法中,集合数据库被定义为集合的名称,用于从数据库服务器中删除。


在 MongoDB 中使用 remove() 方法

要从集合中删除文档,请使用 db.collection.remove() 函数。

语法:

db.collection_database.remove ({})

集合数据库定义为如果您传递空结果集 ({ }),它必须从中删除文档,删除方法将从集合中删除所有记录。

db.collection_name.remove (<query>, {Writeconcern, justone})

查询参数定义为根据查询中规定的条件从集合中删除特定文章的能力。 定义了 justone 参数,它从集合中删除一个文档。 它必须始终通过将关键字设置为 true 来启用。

在选择标准中应用 true 关键字后,只会删除一条记录。 如果您没有在我们的选择标准中使用 true 关键字,则集合中的所有论文都将被删除。

使用 Writeconcern 时,将跳过 write concern 的默认用法。


删除 MongoDB 中的集合

使用 drop() 方法从数据库中删除任何集合,包括其索引。 集合及其索引将使用删除技术从数据库服务器中删除。

您可以使用删除技术从集合中删除某些文档。 remove 方法将销毁集合中的所有文档,但索引将保留在数据库服务器上,不会被删除。

从数据库服务器中删除一个集合后,下面会出现两个结果集,true 或 false。

以下查询演示当从数据库服务器删除集合时,结果集将显示真值。

查询:

show collections
db.test1.drop()
show collections

要从数据库中删除集合,您必须首先连接到相关数据库。 如果您尚未连接或访问指定的数据库,则该集合不会被销毁。

下面的查询显示了在从数据库中删除集合之前需要如何使用指定的数据库。

查询:

db.col_stat.drop()
use test
db.col_stat.drop()
show collections

使用 drop() 方法删除集合

使用命令 show dbs 查看可访问数据库的列表。

使用 show dbs 命令列出可访问的数据库

如果要删除新数据库 mydb>,请使用 dropDatabase() 命令,如下所示:

使用 dropDatabase() 命令删除

现在数据库清单。

成功删除 mydb 数据库


使用 remove() 方法从集合中删除所有文档

考虑来自 mycol 数据集的以下数据。

{_id : ObjectId("507f191e810c19729de860e1"), title: "MongoDB Overview"},
{_id : ObjectId("507f191e810c19729de860e2"), title: "NoSQL Overview"},
{_id : ObjectId("507f191e810c19729de860e3"), title: "Tutorials Point Overview"}

以下示例将删除所有标题为“MongoDB Overview”的记录。

删除所有标题为“MongoDB Overview”的记录

如果有很多记录并且您想删除第一条记录,请使用 remove() 函数中的 justOne 选项。

>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)

如果没有指定的删除条件,MongoDB 将从集合中删除整个文档。 这是 SQL 截断命令的对应项。

如果没有指定条件,则从集合中删除整个文档

db.mycol.find() 之后不会显示任何内容,因为所有数据都已从数据库中删除。

本文教我们如何删除或删除 MongoDB 中的集合。 drop() 方法删除集合及其索引,而 remove 方法从集合中删除单个或所有文档。

如果该集合存在于数据库中,则结果集会将结果显示为 true,显示 false 输出。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 MongoDB Shell 中列出所有数据库

发布时间:2023/05/11 浏览次数:180 分类:MongoDB

交互式 Mongo Shell 提供了多个用于获取数据的选项。 本文介绍了在 Mongo Shell 中列出数据库的几种不同方法。

MongoDB 中检查字段包含的字符串

发布时间:2023/05/11 浏览次数:1024 分类:MongoDB

这篇文章解决了如何在 MongoDB 中使用正则表达式来确定字段是否包含字符串。在 MongoDB 中使用正则表达式 正则表达式 (regex) 是定义搜索模式的文本字符串。

在 MongoDB 中 upsert 更新插入

发布时间:2023/05/11 浏览次数:214 分类:MongoDB

在 MongoDB 中,upsert 结合了更新和插入命令。 它可以在 update() 和 findAndModify() 操作中使用。MongoDB 中的 upsert 查询 upsert 采用单个布尔参数。

如何卸载 MongoDB

发布时间:2023/05/11 浏览次数:745 分类:MongoDB

要从您的计算机中卸载 MongoDB,您必须先删除 MongoDB 服务、数据库和日志文件。使用这篇 MongoDB 文章,您将能够从 Ubuntu Linux、Mac 和 Windows 卸载 MongoDB。 请务必保留数据备份,因为一旦卸载,便

在 MongoDB 中存储日期和时间

发布时间:2023/05/11 浏览次数:762 分类:MongoDB

本 MongoDB 教程解释了 Date() 对象是什么以及如何使用 Date() 方法对集合进行排序。 这也将帮助您找到在 MongoDB 中显示和存储日期/时间的最佳方法。

MongoDB 按 ID 查找

发布时间:2023/05/11 浏览次数:1856 分类:MongoDB

MongoDB 中的 find by Id() 函数用于获取与用户提供的 id 相匹配的文档。 如果找不到与指定 ID 匹配的文档,则返回空值。

检查 MongoDB 服务器是否正在运行

发布时间:2023/05/11 浏览次数:247 分类:MongoDB

这篇 MongoDB 教程将告诉您如何检查是否安装了 MongoDB 以及安装的 MongoDB 服务器的版本。 它在 Windows、UBUNTU 和 MAC 等不同的操作系统中实现。

MongoDB 中的分页

发布时间:2023/05/11 浏览次数:174 分类:MongoDB

这篇文章将介绍什么是 MongoDB 中的分页。 为什么在 MongoDB 中需要分页以及在 MongoDB 中完成分页的不同方法或方式是什么。

MongoDB 从查询开始

发布时间:2023/05/11 浏览次数:186 分类:MongoDB

在这篇 MongoDB 文章中,用户将学习如何使用 $regex 进行开始查询。 它为查询中的模式匹配字符串提供正则表达式功能。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便