为什么Windows端MongoDB Compass不显示集合信息但Ubuntu端正常
问题原因
- MongoDB Compass本地缓存损坏:Compass默认会缓存连接过的实例的数据库、集合元数据,缓存文件损坏后会出现集合列表不展示、但实际访问集合可正常读取文档的问题
- 版本兼容问题:本地安装的Compass版本和MongoDB服务端版本存在已知的元数据加载bug,你在虚拟机中安装的Compass版本和本地版本不同,因此未触发该问题
- 本地网络拦截:Windows本地的防火墙、杀毒软件拦截了Compass发起的
listCollections元数据请求,但未拦截具体的集合文档查询请求,导致出现可以读文档但看不到集合列表的异常 - 过滤规则误开启:Compass集合列表页的过滤规则被误配置,比如开启了额外的非默认过滤规则,或者搜索框中残留了过滤关键词,导致正常集合被过滤不显示
修复步骤
按优先级依次操作即可:
- 清除Compass缓存并重启:打开Compass后点击顶部菜单 帮助 -> 清除缓存并重启,重启后重新连接MongoDB实例查看集合列表是否恢复
- 检查集合过滤配置:进入对应数据库的集合列表页,清空集合搜索框中的所有内容,点击搜索框旁的筛选按钮,取消所有额外的过滤选项勾选
- 重装匹配版本的Compass:卸载本地当前的Compass,安装和虚拟机内可以正常运行的同版本Compass,或者安装和你使用的MongoDB服务端版本对应的官方推荐Compass版本
- 排查本地安全软件拦截:临时关闭Windows Defender防火墙、第三方杀毒软件后重新加载集合列表,如果恢复正常,将MongoDB Compass加入对应安全软件的白名单即可
内容的提问来源于stack exchange,提问作者Edward Tanguay
相关产品推荐
相关产品推荐

