mongodb - 用MongoDB官方Golang驱动可以查到一条记录,但是记录是空的

标签 mongodb go

我正在尝试学习 Go,我写了一些代码来处理 MongoDB 测试数据库,插入一些通用的“项目”。 这是代码:

https://pastebin.com/ptNwKbk2

我可以毫无问题地插入和更新记录,但是当我尝试 FindOne 或查找记录时,出现的是一些空壳,它找到了记录,但记录仅显示其 ID。
首先找到 [第 89 行]:

err = collection.FindOne(context.TODO(), filter).Decode(&resultItem)

结果:

Found a single document: {ID:ObjectID("5cb488c30eeb652e64ecdaeb") itemID: priority:0 desc:}

第二次查找 [第 95 行]:

cur, err := collection.Find(context.TODO(), emptyFilter, findOptions)

结果,每个元素都有一个id,但里面没有数据(“itemID:priority:0 desc:”):

Found multiple documents (array of pointers): [0xc00004c840 0xc00004c8c0]

有人能找出这里的问题吗?

提前致谢

最佳答案

Items 的成员必须以大写字母开头(只是变量名,json/bson 标签都可以)否则反序列化器无法访问它们。

关于mongodb - 用MongoDB官方Golang驱动可以查到一条记录,但是记录是空的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55690876/

相关文章:

MongoDB高级查询: get elements in an array matching a second condition

golang 在 Windows 中运行缓慢

arrays - 查找 Mongodb 文档,如果它包含 mongoose 数组中的元素

javascript - 将 mongoDB View 的结果发送到另一个集合( INSERT....SELECT from SQL )

javascript - MongoDB函数——引用集合和更新值

go - 在 Go 中解析多个模板

sql - GORM many2many 预加载错误

go - 为什么Go不能使float溢出而整数可以呢?

go - 如何使用 GO 读写通用输入输出?

node.js - 无法删除错误 CRUD API(NodeJS、MongoDB、Express)