Docs 菜单
Docs 主页
/
数据库手册
/ / /

$listLocalSessions(聚合阶段)

$listLocalSessions

列出 mongodmongos实例在内存中缓存的会话。

重要

当用户在mongodmongos实例上创建会话时,会话记录最初仅存在于该实例的内存中;即该记录是实例的本地记录。 该实例会定期将其缓存的会话同步到config数据库中的system.sessions集合,同步后,这些会话将对$listSessions和部署的所有成员可见。 在会话记录存在于system.sessions集合中之前,您只能通过 $listLocalSessions操作列出会话。

$listLocalSessions 操作使用 db.aggregate() 方法而不是 db.collection.aggregate()

要运行 $listLocalSessions,它必须是管道中的第一阶段。

该阶段采用以下语法:

{ $listLocalSessions: <document> }

$listLocalSessions 阶段采用包含以下内容之一的文档:

字段
说明

{ }

如果使用访问控制运行,则返回当前经过身份验证的用户的所有会话。

如果在没有访问控制的情况下运行,则返回所有会话。

{ users: [ { user: <user>, db: <db> }, ... ] }

返回指定用户的所有会话。 如果使用访问控制运行,则经过身份验证的用户必须具有对集群执行listSessions操作的权限,才能列出其他用户的会话。

{ allUsers: true }

返回所有用户的所有会话。 如果使用访问控制运行,则经过身份验证的用户必须具有对集群执行listSessions操作的权限。

$listLocalSessions 不允许在事务中使用。

从连接的mongod / mongos实例的会话内存缓存中,以下聚合操作会列出所有会话:

注意

如果使用访问控制运行,则当前用户必须具有对集群执行listSessions操作的权限。

db.aggregate( [ { $listLocalSessions: { allUsers: true } } ] )

从连接的mongodmongos 实例的内存缓存,以下聚合操作列出指定用户myAppReader@test 的所有会话:

注意

如果使用访问控制运行且当前用户不是指定用户,则当前用户必须具有对集群执行listSessions操作的权限。

db.aggregate( [ { $listLocalSessions: { users: [ { user: "myAppReader", db: "test" } ] } } ] )

在已连接的mongod / mongos实例的内存缓存中,以下聚合操作会列出当前用户的所有会话(如果使用访问控制来运行):

db.aggregate( [ { $listLocalSessions: { } } ] )

如果在没有访问控制的情况下运行,该操作会列出所有本地会话。

要使用MongoDB Node.js驾驶员将 $listLocalSessions 阶段添加到聚合管道,请在管道对象中使用 $listLocalSessions操作符。

以下聚合操作列出了所有本地会话:

const pipeline = [{ $listLocalSessions: { allUsers: true } }];
const cursor = db.aggregate(pipeline);
return cursor;

注意

如果使用访问控制运行,则当前用户必须具有对集群执行listSessions操作的权限。

以下聚合操作列出指定用户 myAppReader@test 的所有会话:

const pipeline = [
{
$listLocalSessions: {
users: [{ user: "myAppReader", db: "test"}]
}
}
];
const cursor = db.aggregate(pipeline);
return cursor;

注意

如果使用访问控制运行且当前用户不是指定用户,则当前用户必须具有对集群执行listSessions操作的权限。

如果使用访问权限控制运行,则以下聚合操作会列出当前用户的所有会话:

const pipeline = [{ $listLocalSessions: {} }];
const cursor = db.aggregate(pipeline);
return cursor;

如果在没有访问权限控制的情况运行,该操作会列出所有本地会话。

后退

$listClusterCatalog

在此页面上