mongodb go: `mongo: 结果中没有文档`
mongodb go: `mongo: no documents in result`
我的 mongoDB 数据库中有一个非常简单的条目:
{"_id":{"$oid":"609b15511a048e03dda05861"},"password":"test_password","answer":"test_answer"}
当我在 Atlas UI 中使用过滤器参数时,我能够提取结果。
过滤器:
{"password": "test_password"}
但是,当我调用数据库时,我不断收到错误 mongo: no documents in result
filter := bson.M{"password": "test_password"}
ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
err := collection.FindOne(ctx, filter).Decode(&result)
if err != nil {
log.Printf("%v", err)
}
我似乎可以正确连接到 collection。有什么想法吗?
毕竟我没有正确连接到数据库。
我是这样连接到我的 collection 的:
collection := client.Database("DB_NAME").Collection("COLLECTION_NAME")
因为它没有抛出错误,所以我错误地认为这是正确的。您可以使用以下内容查看您的 collection 和数据库:
databases, _ := client.ListDatabaseNames(ctx, bson.M{})
log.Printf("%v", databases)
collections, _ := client.Database("DATABASES").ListCollectionNames(ctx, bson.M{})
log.Printf("%v", collections)
我的 mongoDB 数据库中有一个非常简单的条目:
{"_id":{"$oid":"609b15511a048e03dda05861"},"password":"test_password","answer":"test_answer"}
当我在 Atlas UI 中使用过滤器参数时,我能够提取结果。
过滤器:
{"password": "test_password"}
但是,当我调用数据库时,我不断收到错误 mongo: no documents in result
filter := bson.M{"password": "test_password"}
ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
err := collection.FindOne(ctx, filter).Decode(&result)
if err != nil {
log.Printf("%v", err)
}
我似乎可以正确连接到 collection。有什么想法吗?
毕竟我没有正确连接到数据库。
我是这样连接到我的 collection 的:
collection := client.Database("DB_NAME").Collection("COLLECTION_NAME")
因为它没有抛出错误,所以我错误地认为这是正确的。您可以使用以下内容查看您的 collection 和数据库:
databases, _ := client.ListDatabaseNames(ctx, bson.M{})
log.Printf("%v", databases)
collections, _ := client.Database("DATABASES").ListCollectionNames(ctx, bson.M{})
log.Printf("%v", collections)