startSession

在本页面

Definition

startSession命令为一系列操作启动新的逻辑session

startSession具有以下语法:

{ startSession: 1 }

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

db.runCommand( { startSession: 1 } )

Important

featureCompatibilityVersion必须为 3.6 才能使用startSession命令。

Behavior

如果部署强制执行身份验证/授权,则必须通过身份验证才能运行startSession命令。运行startSession的用户拥有创建的会话,只有该用户可以使用该会话。

如果部署不强制执行身份验证/授权,则创建的会话没有所有者,并且可以由任何用户在任何连接上使用。如果用户对不执行身份验证/授权的部署进行身份验证并创建会话,则该用户将拥有该会话。但是,任何连接上的任何用户都可以使用该会话。

如果部署在没有任何停机的情况下过渡到身份验证,则无法使用没有所有者的任何会话。

Output

除了命令的状态和操作时间外,startSession还返回以下会话特定的信息:

Field Type Description
id Document 包含会话标识符的 16 字节通用唯一标识符(UUID)部分的文档。


id: { id: <UUID> }
会话的标识符包括此 UUID 和已认证的用户凭据的哈希值。
| timeoutMinutes | number |自上次 Client 端使用以来经过的时间(以分钟为单位),该会话在到期前保持活动状态。默认情况下,会话的超时时间为 30 分钟。要更改该值,请在启动mongod时设置localLogicalSessionTimeoutMinutes参数。对于副本集和分片群集,必须在每个成员上指定相同的值。

首页