MongoDB 会话命令

2025年3月17日 | 阅读 3 分钟

MongoDB abortTransaction 命令

该命令回滚由事务中的操作所做的任何数据更改,该事务终止了多文档事务。 也就是说,事务中进程所做的更改尚未保存。

abortTransaction 命令必须在会话中运行,并且针对 admin 数据库运行。

事务中的所有数据更改都将被拒绝,永远不会在事务结束时出现。

语法

MongoDB commitTransaction 命令

该命令用于保存操作所做的更改。

要运行 commitTransaction 命令,它必须在会话中运行,并且针对 admin 数据库运行。

您可以改为使用 session.commitTransaction()。

在事务开始时,在事务中所做的所有数据更改都会出现并从事务中保存出来。

语法

MongoDB endSessions 命令

该命令用于结束指定的会话。 它会覆盖会话在到期之前等待的超时时间。

为了识别要结束的用户会话,MongoDB 串联每个指定的 UUID。

语法

db.runCommand( { <command> } ) 方法

上述方法用于运行 endSessions。

MongoDB killALLSessions 命令

killAllSession 命令中止指定用户的所有正在运行的会话。 它接受一个文档数组,其中每个文档指定用户和用户的身份验证数据库。

语法

MongoDB killAllSessionByPattern 命令

该命令终止与参数中任何指定模式匹配的所有正在运行的会话。

当您终止会话时,它将终止会话中正在进行的任何操作并关闭任何打开的游标。

语法

图案详情
{ lsid: { id : <UUID> } }它定义了要终止的会话 ID 的 UUID 部分。
{ uid: <BinData> }它定义了要终止的会话所有者的哈希值。
{ users: [ { user: <user>, db: <dbname> }, ... ] }这定义了要终止的会话的所有者,并且需要额外的权限。
{ roles: [ { role: <role>, db: <dbname> }, ... ] }这定义了允许终止会话所有者的角色。

MongoDB refreshSessions 命令

该命令用于通过扩展会话的活动状态来更新指定会话的结束时间。

已验证的用户凭据用于刷新已标识用户的会话。

语法

使用 db.runCommand( { <command> } ) 方法,此命令用于运行 refreshSessions。

MongoDB startSession 命令

startSession 命令用于为一系列操作启动新的逻辑会话。

您必须经过身份验证才能运行该命令,如果部署不强制进行身份验证或授权,则创建的会话没有所有者,并且可以由任何用户通过任何连接使用。

语法

使用 db.runCommand( { <command> } ) 方法,它用于运行 startSession。