为了账号安全,请及时绑定邮箱和手机立即绑定

在 golang 的 mongodb 中的集合列表中打印集合

在 golang 的 mongodb 中的集合列表中打印集合

Go
猛跑小猪 2022-12-05 16:23:13
要从 mongodb 打印一个集合,以下是我在 python 中的代码:print(list(MongoClient(***).get_database("ChatDB").get_collection("room_members".find({'_id.username': username})))我正在学习 Go,我正在尝试将上述代码翻译成 golang。我的代码如下:    client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI("*****"))    if err != nil {        panic(err)    }    likes_collection := client.Database("ChatDB").Collection("likes")    cur, err := likes_collection.Find(context.Background(), bson.D{{}})    if err != nil {        panic(err)    }    defer cur.Close(context.Background())    fmt.Println(cur)但是,我得到了一些十六进制值
查看完整描述

2 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)

client, err := mongo.Connect(ctx, options.Client().ApplyURI("***"))

if err != nil {

    panic(err)

}

var likes []bson.M

likes_collection := client.Database("ChatDB").Collection("likes")


defer client.Disconnect(ctx)


cursor, err := likes_collection.Find(context.Background(), bson.D{{}})

if err != nil {

    panic(err)

}

if err = cursor.All(ctx, &likes); err != nil {

    panic(err)

}

fmt.Println(likes)


查看完整回答
反对 回复 2022-12-05
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

go lang 中的 Mongo 与 mongo 不同的 api。


查找返回游标而不是集合。


您应该将代码更改为:


var items []Items 

cur, err := likes_collection.Find(context.Background(), bson.D{{}})

    if err != nil {

        panic(err)

    }

cur.All(context.Background(),&items)


查看完整回答
反对 回复 2022-12-05
  • 2 回答
  • 0 关注
  • 185 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信