mongodb - 使用 MongoDB 和 Golang 没有解码器错误

标签 mongodb go

我有一个存储在 MongoDB 中的结构

type Step struct {
    Name           string
    CompensateFunc interface{}
    Error          error       `bson:"error,omitempty"`
    Result         interface{} 
}

该结构很好地存储在 Mongo 中,但是当我尝试获取它时,出现以下错误:

解码关键步骤出错。0.error: 未找到错误的解码器

我需要做些什么才能将 Golang 错误存储在 MongoDB 中吗?

最佳答案

事实证明,这是因为 Mongo 无法解码开箱即用的接口(interface),它只能解码简单类型。

为了修复错误,我将底层错误字符串存储在结构上

type Step struct {
    Error  string 
}

关于mongodb - 使用 MongoDB 和 Golang 没有解码器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75950263/

相关文章:

mongodb - 如何只返回选定的几个嵌入对象的对象?

java - 使用 MongoDB 和 MongoJack 的简单对象插入

node.js - 使用 Mongoose : How to synchronize changes 进行非规范化

parsing - 如何将时间设置为 dd-MMM-yyyy HH :mm:ss in go?

http - 在 golang 中使用示例正文字符串创建 http.Response 实例

Go libstd.so 在 Alpine 上出现错误

xml - 如何在 GO 中解码灵活的 xml?

node.js - 类型错误 : Cannot call method 'get' of undefined

go - 运行时没有任何反应 go get github.com/astaxie/beego

MongoDB 重命名收集失败,返回 "exceeds maximum length of 32, allowing for index names"