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

Go连接Mongo Atlas查询异常:通用查询失败,特定查询正常

问题原因与解决办法

你遇到的"document is nil"错误,核心原因是Mongo Go驱动不允许直接用nil作为Find()的查询过滤器。哪怕你想执行匹配所有文档的空查询,也得显式传入一个空的BSON结构,不能传nil。

解决步骤

把原来传nil的代码,替换成bson.D{}或者bson.M{}——这两个都表示空查询条件,能匹配集合里的所有文档:

// 替换成bson.D{}即可正常执行
cursor, err := commentsCollection.Find(ctx, bson.D{})

或者用bson.M{}也完全没问题:

cursor, err := commentsCollection.Find(ctx, bson.M{})

为什么特定查询能正常工作?

你用bson.M{"email": "roxanne_mckee@gameofthron.es"}查询时,传入的是一个有效的BSON映射对象,符合驱动对参数的合法性要求,所以不会触发错误。而nil会被驱动判定为无效的查询文档,直接抛出"document is nil"异常。

内容的提问来源于stack exchange,提问作者Yoni Mayer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:16:09