我有以下(未经测试的)功能:
func Execute(task MyInterface) {
db := session.DB(task.Database()).C(task.Collection())
var tasks []MyInterface
db.Find(nil).All(&tasks)
for _, t := range tasks { t.Do() }
}
我想给我的函数一个实现 interface 的结构MyInterface
。然后它应该从 mongodb 中检索一些值并在检索到的结构上调用一个方法。
问题是error: reflect.Set: value of type bson.M is not assignable to type mypkg.MyInterface
- 有什么方法可以使这项工作?我尝试tasks
使用原始结构的类型进行实例化,但无法使其正常工作。
任何帮助将不胜感激 - 谢谢:)