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

要从 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)

但是,我得到了一些十六进制值


猛跑小猪
浏览 186回答 2
2回答

哔哔one

ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)client, err := mongo.Connect(ctx, options.Client().ApplyURI("***"))if err != nil {    panic(err)}var likes []bson.Mlikes_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)

芜湖不芜

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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go