mongodb go:`mongo:结果中没有文档`
我的mongoDB数据库中有一个非常简单的条目:mongodb go:`mongo:结果中没有文档`,mongodb,go,mongo-go,mongo-go-driver,Mongodb,Go,Mongo Go,Mongo Go Driver,我的mongoDB数据库中有一个非常简单的条目: {"_id":{"$oid":"609b15511a048e03dda05861"},"password":"test_password","answer":"test_answer"} 当我在Atlas用户界面中使用过滤器参数时,我能够调出结果 过滤器: {"password": &q
{"_id":{"$oid":"609b15511a048e03dda05861"},"password":"test_password","answer":"test_answer"}
当我在Atlas用户界面中使用过滤器参数时,我能够调出结果
过滤器:
{"password": "test_password"}
然而,当我调用数据库时,我不断得到错误mongo:result中没有文档
filter:=bson.M{“密码”:“测试密码”}
ctx,:=context.WithTimeout(context.Background(),10*time.Second)
错误:=collection.FindOne(ctx,filter).Decode(&result)
如果出错!=零{
log.Printf(“%v”,err)
}
我似乎已正确连接到该系列。有什么想法吗?毕竟我没有正确连接到数据库 我是这样连接到我的收藏的:
collection := client.Database("DB_NAME").Collection("COLLECTION_NAME")
由于它没有抛出错误,我错误地认为这是正确的。您可以使用以下内容查看您的集合和数据库:
databases,\:=client.ListDatabaseNames(ctx,bson.M{})
log.Printf(“%v”,数据库)
collections,\:=client.Database(“DATABASES”).ListCollectionNames(ctx,bson.M{})
log.Printf(“%v”,集合)
您发布的代码应该有效,问题出在其他地方(我们不知道)。测试是否可以使用空筛选器获取其他(所有)文档。结果的定义是什么?另外,使用ctx.TODO()
尝试查找。通常,最好使用bson.D
来定义查询过滤器(bson.M不能保证条目的顺序-与多个过滤条件相关)。result
被定义为type result struct{Password string
json:“Password”`Answer stringjson:“Answer
}。我将尝试使用
ctx.TODO()`空筛选器似乎无法获取任何内容。也许我根本没有连接?