You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在新版MongoDB Shell(mongosh)中获取未截断的distinct字段值列表

新版MongoDB Shell(mongosh)默认会对长数组做展示截断,这只是输出层的展示限制,distinct() 接口本身已经返回了全部去重值,只需调整展示配置即可看到完整列表,可用方案如下:

方案1:单次临时输出完整结果

直接将返回结果通过JSON序列化输出,无需修改全局配置:

// 把查询结果赋值给变量后序列化输出
const distinctIds = db.myCollection.distinct("myExternalId")
JSON.stringify(distinctIds, null, 2)

如果不需要格式化缩进,去掉后面的null, 2参数即可输出压缩后的完整列表。

方案2:全局配置关闭数组截断

如果经常需要查看长列表,可以修改mongosh的全局配置,永久关闭数组截断限制:

// 调整对象检查深度为无限,避免嵌套结构截断
config.set("inspectDepth", Infinity)
// 调整数组展示长度为无限,避免长数组截断
config.set("inspectArrayLength", Infinity)

配置修改后立即生效,后续再执行distinct()查询会直接输出完整的去重值列表。

内容的提问来源于stack exchange,提问作者M. Justin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 17:15:05