首页 >后端开发 >Golang >为什么使用 Go 查询 MongoDB 时得到空对象?

为什么使用 Go 查询 MongoDB 时得到空对象?

DDD
DDD原创
2024-12-11 18:52:11529浏览

Why Am I Getting Empty Objects When Querying MongoDB with Go?

使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn