使用$listsampledqueries可以返回指定集合或所有集合的采样查询。analyzeshardkey命令使用采样查询来计算分片密钥的读写分布指标。
语法
{
$listsampledqueries: { namespace: <namespace> }
}使用
如果namespace参数为某个集合,则列出该集合的采样查询,如果不指定namespace参数,则列出所有集合的采样查询。
如果在集群上使用时,需要具备clustermonitor角色权限。
举例
列出全部集合的采样查询
下面的聚合操作列出了副本集中所有集合的所有采样查询:
db.aggregate( [ { $listsampledqueries: { } } ] )列出指定集合的采样查询
下面的聚合操作列出了社交数据库中帖子集合的所有抽样查询:
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 | string | 样本集合的命名空间 |
collectionuuid | uuid | 采样集合的id |
cmdname | string | 采样命令的名称,可以为:"find", "aggregate", "count", "distinct" |
cmd.filter | object | 命令运行时使用的筛选器(如果适用) |
cmd.collation | object | 命令运行时的校对(如果适用) |
cmd.let | object | 命令运行时的自定义变量(如果适用) |
expireat | date | 样本过期日期 |
写查询
{
_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 | 样本过期日期 |
到此这篇关于mongodb聚合:$listsampledqueries的文章就介绍到这了,更多相关mongodb聚合内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论