Docs 菜单
Docs 主页
/
MongoDB Atlas
/ / /

drop

在此页面上

  • 语法
  • 参数
  • 输出
  • 示例
  • 删除集合示例
  • 删除视图示例
  • 故障排除错误

drop 命令从联合数据库实例存储配置中删除指定的集合或视图。使用通配符 "*" 删除 通配符集合函数(即 collectionName())生成的所有集合,包括通配符集合规则本身。不能单独删除通配符集合函数生成的集合。

db.runCommand({ "drop" : "<collection-name|*>" })
db.runCommand({ "drop" : "<view-name>" })
Parameter
类型
说明
必需?

<collection-name>

字符串

要删除的集合名称或通配符 "*"。您可以指定通配符 "*" 来删除:

  • 通配符集合函数生成的所有集合 collectionName()

  • 通配符收集规则

Parameter
类型
说明
必需?

<view-name>

字符串

要删除的视图的名称。

如果成功,该命令将返回以下输出。您可以运行 show collections 命令来验证结果。如果命令失败,请参阅 排除错误了解建议的解决方案。

{ "ok" : 1, "ns" : "<database>.<collection>", "nIndexesWas" : 0 }

其中:

  • ns 反映了集合命名空间,其中包括数据库名称、点 (.) 分隔符和集合名称。例如:<database>.<collection>

  • nIndexesWas 反映了索引数量,其值在 Data Federation 上始终为 0

如果成功,该命令将返回以下输出。您可以运行 storageGetConfig 命令来验证结果。如果命令失败,请参阅排除错误了解建议的解决方案。

{ "ok" : 1, "ns" : "<database>.<view>", "nIndexesWas" : 0 }

其中:

  • ns 反映了视图命名空间,其中包括数据库名称、点 (.) 分隔符和视图名称。例如:<database>.<view>

  • nIndexesWas 反映了索引数量,其值在 Data Federation 上始终为 0

以下示例使用drop 命令删除映射到 AWS S3 存储中的 airbnbweather 示例数据集的示例集合。

以下示例使用 drop 命令删除存储配置中名为 sample 的数据库中名为 airbnb 的示例集合。

use sample
db.runCommand({ "drop" : "airbnb"})

上一个命令打印以下输出:

{ "ok" : 1, "ns" : "sample.airbnb", "nIndexesWas" : 0 }

以下示例使用 drop 命令删除通配符集合函数 (collectionName()) 以及通配符集合函数在存储配置中名为 sample 的数据库中创建的所有集合。

use sample
db.runCommand ({ "drop" : "*" })

上一个命令打印以下输出:

{ "ok" : 1, "ns" : "sample.*", "nIndexesWas" : 0 }

以下命令会删除 Airbnb 名为“listings” 的sample 视图 数据库中的集合:

use sample
db.runCommand({ "drop" : "listings" })

上一命令会返回以下输出:

例子

{ "ok" : 1, "ns" : "sample.listings", "nIndexesWas" : 0 }

如果命令失败,则返回以下错误之一。

原因:命名空间(数据库、集合或视图)不存在。

{
ok: 0,
errmsg: "ns not found",
code: 26,
codeName: "NamespaceNotFound"
}

解决方案:确保命令中指定的命名空间有效并存在于存储配置中。如有必要,使用 getStorageConfig 命令检索存储配置中的有效数据库、集合和视图列表。

原因:尝试删除由通配符集合函数 (collectionName()) 创建的集合。

{
ok: 0,
errmsg: "cannot drop a collection created from a wildcard",
code: 26,
codeName: "NamespaceNotFound"
}

解决方案:确保您删除的集合不是由通配符集合函数 (collectionName()) 动态生成的单个集合。Data Federation 不支持删除通配符集合函数生成的单个集合。

后退

重命名集合