MongoDB 会话命令
MongoDB abortTransaction命令
该命令回滚终止多文档事务的操作所进行的任何数据更改。即,事务中的进程所进行的更改尚未保存。
abortTransaction命令必须在会话内运行,并针对admin数据库运行。
事务结束时,所有事务中的数据更改都将被拒绝,从未出现过。
语法:
{
abortTransaction: 1,
txnNumber: <long>,
writeConcern: <document>,
autocommit: false
}
MongoDB commitTransaction 命令
该命令用于保存操作所做的更改。
要运行 commitTransaction 命令,必须在会话内运行,并针对 admin 数据库运行。
您可以使用 session.commitTransaction() 代替。
在事务开始时,事务中所做的所有数据更改将显示并保存在事务之外。
语法:
{
commitTransaction: 1,
txnNumber: <long>,
writeConcern: <document>,
autocommit: false
}
MongoDB endSessions命令
该命令用于结束指定的会话。它覆盖了会话在失效前等待的超时时间。
为了标识要结束的用户会话,MongoDB将每个指定的UUID连接在一起。
语法:
{ endSessions: [ { id : <UUID> }, ... ] } )
db.runCommand( { <command> } )
方法
上述方法用于运行endSessions。
db.runCommand( { endSessions: [ { id : <UUID> }, ... ] } )
MongoDB killALLSessions 命令
命令 killAllSession 会终止指定用户的所有正在运行的会话。它接受一个包含每个文档指定用户和用户认证数据库的文档数组。
语法:
db.runCommand( { killAllSessions: [ { user: <user>, db: <dbname> }, ... ] } )
MongoDB killAllSessionByPattern命令
该命令终止所有与参数中指定的模式匹配的正在运行的会话。
当您终止会话时,它将终止会话中的所有正在进行的操作并关闭所有已打开的游标。
语法:
db.runCommand( { killAllSessionsByPattern: [ <pattern>, ... ] } )
模式 | 详细信息 |
---|---|
{ lsid: { id : <UUID> } } |
定义要终止的会话ID的UUID部分。 |
{ uid: <BinData> } |
定义要终止的会话所有者的哈希值。 |
{ users: [ { user: <user>, db: <dbname> }, ... ] } |
定义要终止的会话所有者,并需要额外的权限。 |
{ roles: [ { role: <role>, db: <dbname> }, ... ] } |
定义允许终止会话所有者的角色。 |
MongoDB refreshSessions命令
该命令用于通过延长会话的活动状态来更新指定会话的最后使用时间。
使用经过身份验证的用户凭据来刷新已识别用户的会话。
语法:
{ refreshSessions: [ { id : <UUID> }, ... ] } )
使用db.runCommand({<command>})
方法,此命令用于运行refreshSessions。
db.runCommand( { refreshSessions: [ { id : <UUID> }, ... ] } )
MongoDB startSession 命令
startSession命令用于启动一系列操作的新的逻辑会话。
您必须进行身份验证才能运行该命令,如果部署不强制进行身份验证或授权,则创建的会话没有所有者,并且可以由任何用户在任何连接上使用。
语法:
{ startSession: 1 }
使用 db.runCommand({ <command> })
方法,它用于运行 startSession。
db.runCommand( { startSession: 1 } )