一般FindOne fmt.print result { }。我需要输出值。
我正在使用来自文档的几乎标准设置:https://docs.mongodb.com/ecosystem/drivers/go/
我在创建查询时遇到问题,因为大多数示例都是不同的;我试图遵循这种模式:https://github.com/ruanbekker/code-examples/blob/master/mongodb/golang/examples.go
引用对象:
_id:5d1a8829cf5042c071458db6
name:" !hello"
Value:" World %c end"
Counter:0
代码示例:
type userModel struct {
Uname string
Url string
}
var result userModel
filter := bson.D{{"name", " !hello"}}
db := Client.Database("Nothing").Collection("databaseC")
db.FindOne(context.Background(), filter).Decode(&result)
fmt.Println(result)
fmt.Println(result.Url)
//输出 { 0} //输出空
type userModel struct {
Name string
Value string
Counter int
}
var result userModel
findOneOptions := options.FindOne()
findOneOptions.SetProjection(bson.D{{"name", "!new"}})
filter := bson.D{{}}
db := Client.Database("Nothing").Collection("databaseC")
db.FindOne(context.TODO(), filter, findOneOptions).Decode(&result)
fmt.Println(result)
//什么都不输出
//简单结构的不同集合
type userModel struct {
Uname string
Url string
}
var result userModel
filter := bson.D{{"name", "object"}}
db := Client.Database("Nothing").Collection("Video")
db.FindOne(context.Background(), filter).Decode(&result)
fmt.Println(result)
fmt.Println(result.Url)
//输出 { } //输出空
最佳答案
type userModel struct {
name string `bson:"name"`
Value string `bson:"Value"`
Counter int `bson:"Counter"`
}
var result userModel
filter := bson.M{"name": " !hello"}
db := Client.Database("Nothing").Collection("databaseC")
db.FindOne(context.Background(), filter).Decode(&result)
fmt.Println(result)
fmt.Println(result.Value)
输出实际值。 谢谢@icza
关于Mongodb-go-adapter FindOne 吐出 { } 和 { 0},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56852036/