Mongodb-go-adapter FindOne 吐出 { } 和 { 0}

标签 mongodb go mongo-go

一般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/

相关文章:

go - Thrift Compiler(0.9.3) 生成 Thrift 包中未定义的函数 thrift.PrependError

go - runtime.NumCPU输出为4

c++ - 在 Windows 上使用 C++ 在本地发送 POST 请求

mongodb - mongodb go driver中维护了bson.M数组的顺序吗?

mongodb - 无法安装最新版本的mongo-go-driver(v1.2.1)

javascript - Mongo 客户端无法访问带有下划线前缀的集合

node.js - 使用 MongoDB 创建数组并推送到数组

mongodb - 订阅 Meteor.Users 集合

mongodb - wiredtiger内存使用量增长

json - Mongo-go-driver 从插入结果中获取 objectID