Golang无法从数据库获取数据,原因是类型不匹配。

huangapple go评论135阅读模式
英文:

Golang can't get data from db because of types

问题

我正在尝试从MongoDB中获取数据(之前使用JS保存),但不幸的是,我得到了空的_id和错误格式的日期(保存为epoch)。

这是MongoDB中的数据:

Golang无法从数据库获取数据,原因是类型不匹配。

这是我在Go代码中使用的模型:

Golang无法从数据库获取数据,原因是类型不匹配。

这是我得到的结果:

Golang无法从数据库获取数据,原因是类型不匹配。

我尝试过在ID类型中使用uuid.UUID,但我得到了一个全是零的结构体,当我将它们的类型更改为字符串或字节时,我得到了空值。

如何确保获取到与数据库中保存的数据完全一致的数据?

英文:

I'm trying to get data from a MongoDB (previously saved using JS) and I unfortunately get empty _id and wrong format of the dates (saved as epoch).

Here's the data in MongoDB:

Golang无法从数据库获取数据,原因是类型不匹配。

Here is the model I'm using in my Go code

Golang无法从数据库获取数据,原因是类型不匹配。

and here is what I get as result

Golang无法从数据库获取数据,原因是类型不匹配。

I've tried uuid.UUID in the ID type but I get a struct full of zeros, and when I change their types to string or byte, I get empty values.

How to get exactly the data as it's saved on the DB?

答案1

得分: 1

请检查您的结构标签。将json标签替换为bson。

在Mongo中,您将某些字段存储为驼峰命名法,在Go中,您希望所有字段都是蛇形命名法。

英文:

Please check your struct tags. Replace the json tag with bson.

In Mongo you store some fields in camelCase and in Go you expect all fields to be snake case.

huangapple
  • 本文由 发表于 2022年6月11日 22:33:25
  • 转载请务必保留本文链接:https://go.coder-hub.com/72585219.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定