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)