英文:
Print collection in a list of a collection in mongodb in golang
问题
要打印MongoDB中的集合,以下是我在Python中的代码:
print(list(MongoClient(***).get_database("ChatDB").get_collection("room_members").find({'_id.username': username})))
我正在学习Go语言,我正在尝试将上述代码翻译成Go语言。
我的代码如下:
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)
然而,我得到了一些十六进制值。
英文:
To print a collection from mongodb the following is my code in python:
print(list(MongoClient(***).get_database("ChatDB").get_collection("room_members".find({'_id.username': username})))
I am learning Go and I am trying to translate the aforementioned code into golang.
My code is as follows:
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)
However, I get some hex value
答案1
得分: 3
以下是翻译好的内容:
在Go语言中,Mongo的API与Mongo不同。
Find方法返回的是游标而不是集合。
你应该将你的代码改为:
var items []Items
cur, err := likes_collection.Find(context.Background(), bson.D{{}})
if err != nil {
panic(err)
}
cur.All(context.Background(), &items)
英文:
Mongo in go lang different api than mongo.
Find returns cursor not collection.
You should changed your code to :
var items []Items
cur, err := likes_collection.Find(context.Background(), bson.D{{}})
if err != nil {
panic(err)
}
cur.All(context.Background(),&items)
答案2
得分: 0
ctx, _ := context.WithTimeout(context.Background(), 10time.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)
英文:
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)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论