MongoDB聚合:$listSampledQueries

使用$listSampledQueries可以返回指定集合或所有集合的采样查询。analyzeShardKey命令使用采样查询来计算分片密钥的读写分布指标。

语法

js 复制代码
{
   $listSampledQueries: { namespace: <namespace> }
}

使用

如果namespace参数为某个集合,则列出该集合的采样查询,如果不指定namespace参数,则列出所有集合的采样查询。

如果在集群上使用时,需要具备clusterMonitor角色权限。

举例

列出全部集合的采样查询

下面的聚合操作列出了副本集中所有集合的所有采样查询:

js 复制代码
db.aggregate( [  { $listSampledQueries: {  } } ] )

列出指定集合的采样查询

下面的聚合操作列出了社交数据库中帖子集合的所有抽样查询:

js 复制代码
db.aggregate( [  { $listSampledQueries: { namespace: "social.post" } } ] )

输出结果

读取和写入查询的输出字段不同。

读查询

js 复制代码
{
   _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 string 样本集合的命名空间
collectionUuid UUID 采样集合的ID
cmdName string 采样命令的名称,可以为:"find", "aggregate", "count", "distinct"
cmd.filter object 命令运行时使用的筛选器(如果适用)
cmd.collation object 命令运行时的校对(如果适用)
cmd.let object 命令运行时的自定义变量(如果适用)
expireAt date 样本过期日期

写查询

js 复制代码
{
   _id: <uuid>,
   ns: "<database>.<collection>",
   collectionUuid: <collUUID>,
   cmdName: <update|delete|findAndModify>,
   cmd: <object>,
   expireAt: <date>
}

字段说明:

字段 类型 说明
_id UUID 查询的采样ID
ns string 样本集合的命名空间
collectionUuid UUID 采样集合的ID
cmdName string 采样命令的名称,可以为:"update", "delete", "findAndModify"
cmd object 命令对象
expireAt date 样本过期日期
相关推荐
寂寞旅行39 分钟前
向量数据库Milvus的使用
数据库·milvus
闻哥1 小时前
Redis事务详解
java·数据库·spring boot·redis·缓存·面试
道亦无名2 小时前
aiPbMgrSendAck
java·网络·数据库
面向对象World4 小时前
正点原子Mini Linux 4.3寸800x480触摸屏gt115x驱动
linux·服务器·数据库
dinga198510265 小时前
mysql之联合索引
数据库·mysql
微风中的麦穗5 小时前
【SQL Server 2019】企业级数据库系统—数据库SQL Server 2019保姆级详细图文下载安装完全指南
大数据·数据库·sqlserver·云计算·个人开发·运维必备·sqlserver2019
zjttsh6 小时前
MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
android·数据库·mysql
顾北126 小时前
SpringCloud 系列 04:Gateway 断言 / 过滤器 / 限流 一站式落地指南
java·开发语言·数据库
禹凕6 小时前
MYSQL——基础知识(NULL 值处理)
数据库·mysql
码云数智-大飞6 小时前
SQL Server 无法启动?常见原因及详细解决方法指南
数据库