$listSampledQueries
定义
语法
$listSampledQueries
采用以下语法:
{ $listSampledQueries: { namespace: <namespace> } }
行为
要列出单个集合的采样查询,请在
namespace
参数中指定该集合。要列出所有collection的采样查询,请省略
namespace
参数。
访问控制
$listSampledQueries
需要集群上的 clusterMonitor
角色。
限制
您无法在 Atlas 多租户配置上使用
$listSampledQueries
。您无法在独立运行的实例上使用
$listSampledQueries
。您不能直接对
--shardsvr
副本集使用$listSampledQueries
。 在分片集群上运行时,$listSampledQueries
必须针对mongos
运行。
示例
列出所有collection的查询
以下聚合操作列出了副本集中所有collection的所有查询:
db.aggregate( [ { $listSampledQueries: { } } ] )
列出特定collection的采样查询
以下聚合操作列出了针对social
数据库上的post
collection的所有查询:
db.aggregate( [ { $listSampledQueries: { namespace: "social.post" } } ] )
输出
读取和写入查询的输出字段有所不同。
读取查询
{ _id: <uuid>, ns: "<database>.<collection>", collectionUuid: <collUUID>, cmdName: <find|aggregate|count|distinct>, cmd: { filter: <object>, collation: <object>, let: <object> }, expireAt: <date> }
字段名称 | 类型 | 说明 |
---|---|---|
_id | UUID | 查询的样本 ID。 |
ns | 字符串 | collection的命名空间。 |
collectionUuid | UUID | 采样collection的 ID。 |
cmdName | 字符串 | 采样命令的名称。 可以是以下之一:
|
cmd.filter | 对象 | 运行命令时使用的过滤器(如果适用)。 |
cmd.collation | 对象 | 命令运行时使用的排序规则(如果适用)。 |
cmd.let | 对象 | 命令运行时使用的自定义变量(如果适用)。 |
expireAt | 日期 | 样本到期日期。 |
写入查询
{ _id: <uuid>, ns: "<database>.<collection>", collectionUuid: <collUUID>, cmdName: <update|delete|findAndModify>, cmd: <object>, expireAt: <date> }
字段名称 | 类型 | 说明 |
---|---|---|
_id | UUID | 查询的样本 ID。 |
ns | 字符串 | collection的命名空间。 |
collectionUuid | UUID | 采样collection的 ID。 |
cmdName | 字符串 | 采样命令的名称。 可以是以下之一:
|
cmd | 对象 | 命令对象 |
expireAt | 日期 | 样本到期日期。 |