gpt4 book ai didi

go - 如何从mongo-go-driver光标获取ObjectID为String?

转载 作者:行者123 更新时间:2023-12-01 21:13:43 24 4
gpt4 key购买 nike

我想将ObjectID作为字符串获取,因为我还有其他存储类型,因此我想避免在我的结构中使用primary.ObjectID来保持各层独立。
我是Golang的新手,谢谢。

package listing

type Card struct {
ID string
Hanzi string
Pinyin string
Traducao string
}

我的存储文件:
包装储物
func (m *Mongodb)GetCards() []*listing.Card {
var list []*listing.Card

collection := m.Client.Database("flashcards").Collection("cards")
cur, err := collection.Find(context.TODO(), bson.M{})

if err != nil {
log.Fatal("Erro buscando cards:", err)
}
for cur.Next(context.TODO()) {
var card listing.Card
err = cur.Decode(&card)
if err != nil {
log.Fatal("Erro decodificando documento", err)
}
list = append(list, &card)
}
return list
}

最佳答案

好的,我知道了。
我创建了另一个结构来容纳ObjectId

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

然后我使用Hex()将值传递给Card.ID
err = cur.Decode(&card)
err = cur.Decode(&hexId)
card.ID = hexId.ID.Hex()

现在,我可以用它来建立链接。

关于go - 如何从mongo-go-driver光标获取ObjectID为String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61743488/

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