文档菜单
文档首页
/
MongoDB 手册
/ /

删除数据库

本页内容

  • 概要
  • 描述
  • 示例
dropDatabase

当删除数据库时,会触发一个 dropDatabase 事件。

字段
类型
描述
_id
文档

ABSON 对象,用作更改流事件的标识符。此值用作 resumeToken,以便在恢复更改流时使用 resumeAfter 参数。此 _id 对象具有以下形式

{
"_data" : <BinData|hex string>
}

_data 类型取决于 MongoDB 版本,在某些情况下,取决于更改流打开或恢复时的 功能兼容版本 (fCV)。有关 _data 类型的完整列表,请参阅 恢复令牌

有关通过 resumeToken 恢复更改流的示例,请参阅 恢复更改流

clusterTime
时间戳

clusterTime 是与事件关联的操作日志条目的时间戳。

由于 oplog 大小限制多文档事务 可能会创建多个 oplog 条目。在事务中,给定 oplog 条目中排队的更改流事件共享相同的 clusterTime

具有相同 clusterTime 的事件可能并不都与同一事务相关。某些事件根本不与事务相关。从 MongoDB 8.0 版本开始,这对于任何部署上的事件都可能是真实的。在先前版本中,此行为仅适用于分片集群上的事件。

要标识单个事务的事件,您可以在更改流事件文档中使用 lsidtxnNumber 的组合。

已更改在版本8.0.

lsid
文档

与事务关联的会话的标识符。

仅当操作是 多文档事务 的部分时才存在。

ns
文档

受事件影响的名字空间(数据库和/或集合)。

ns.db
字符串

事件发生的数据库的名称。

operationType
字符串

更改通知报告的操作类型。

对于这些更改事件,返回一个值为 dropDatabase 的值。

txnNumber
NumberLong

lsid 一起,这是一个帮助唯一识别事务的数字。

仅当操作是 多文档事务 的部分时才存在。

wallTime

数据库操作的服务器日期和时间。与 clusterTime 不同,clusterTime 是从与数据库操作事件相关的oplog条目中获取的时间戳。

在版本6.0.

以下示例说明了 dropDatabase 事件

{
"_id": { <Resume Token> },
"operationType": "dropDatabase",
"clusterTime": <Timestamp>,
"wallTime": <ISODate>,
"ns": {
"db": "engineering"
}
}

dropDatabase 命令在生成数据库的 dropDatabase 事件之前,为数据库中的每个集合生成一个 drop 事件

dropDatabase 事件会导致对其自己的 ns.db 数据库打开的更改流发生 invalidate 事件。

返回

删除

本页内容