使用 Go 进行 MongoDB 查询中的空对象
在学习 Go API 开发时,您可能会遇到使用 mgo 包从 MongoDB 检索数据的问题。其中一个问题是在执行查询时获取空对象。要解决此问题,必须了解 Go 结构中 BSON 和 JSON 标签的使用。
在您提供的代码中,出现问题是因为 users 结构中的字段未导出或标记。因此,它们被 mgo 包忽略。要解决此问题,您需要通过大写首字母来导出字段,例如:
type Users struct { User string `bson:"user" json:"user"` Data string `bson:"data" json:"data"` }
默认情况下,在将结构值转换为 MongoDB 或从 MongoDB 转换结构值时假定字段名称。但是,标签允许您将字段映射到特定名称以进行序列化和检索。在本例中,您已定义标签来匹配 BSON 和 JSON 字段名称。
进行这些更改后,您的代码将成功从 MongoDB 集合中检索非空对象。打印行将显示正确的用户数据和集合中的消息数。
以上是为什么使用 Go 查询 MongoDB 时得到空对象?的详细内容。更多信息请关注PHP中文网其他相关文章!