gpt4 book ai didi

mongodb - 无法将 mongo 文档 ID 解码到结构字段上

转载 作者:行者123 更新时间:2023-12-02 04:54:28 24 4
gpt4 key购买 nike

尝试使用 mongo go driver使用 findOne 解码获取单个用户文档并将其解码为结构体方法。但是,我无法解码结构字段上的文档 ID。我尝试在他们的示例或其他网站/博客中查找它,但没有成功。我正在工作:

  • 去 v1.13.4
  • 蒙戈v4.2.1
  • mongo-go-driver v1.1.3

下面是代码片段:

type User struct {
ID interface{} `json:"_id"`
Name string
Email string
Password string // hashed
}

/* Other versions of User struct which I already tried

type User struct {
ID interface{}
Name string
Email string
Password string // hashed
}

type User struct {
ID string `json:"_id"`
Name string
Email string
Password string // hashed
}

type User struct {
ID string
Name string
Email string
Password string // hashed
}
*/

func main() {
conn := service.MongoConn() // get a mongo connection on the required database
user := &service.User{}
err := conn.Collection("users").
FindOne(context.Background(), bson.M{"email": "foo@bar.com"}).
Decode(user)
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", user)
}

我想使用文档 ID 作为不同集合中其他文档的引用,否则,我必须求助于其他一些独特的字段,例如电子邮件。

最佳答案

结构应该是这样的:

import "go.mongodb.org/mongo-driver/bson/primitive"

type User struct {
ID primitive.ObjectID `bson:"_id"`
...
}

要将您的_id传输到字符串,请使用xx.ID.Hex()

see more on Github

关于mongodb - 无法将 mongo 文档 ID 解码到结构字段上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59240353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com