我有一个结构体,我在MongoDB中存储
type Step struct {
Name string
CompensateFunc interface{}
Error error `bson:"error,omitempty"`
Result interface{}
}
结构体被存储在Mongo很好,但当我试图获取它,我得到以下错误:
error decoding key steps.0.error: no decoder found for error
是否有一些我需要做的事情来存储MongoDB中的Golang错误?
原来这是因为Mongo不能解码开箱即用的接口,它只能解码简单类型。
为了修复这个错误,我将基础错误字符串存储在结构体中,而不是
type Step struct {
Error string
}