я следующее (непроверенных) функции:Получить из базы данных через интерфейс МдО с помощью
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() }
}
Я хочу дать моей функции структуру, которая реализует интерфейс MyInterface
. Затем он должен получить некоторые значения из mongodb и вызвать метод для извлеченных структур.
Проблема error: reflect.Set: value of type bson.M is not assignable to type mypkg.MyInterface
- есть ли способ сделать эту работу? Я попытался создать экземпляр tasks
, используя тип исходной структуры, но не смог заставить его работать.
Любая помощь будет оценена - спасибо :)
Когда вы говорите «Я попытался создать задачи, используя тип исходной структуры, но не смог заставить ее работать». Какова была ошибка и как вы это сделали? Были ли задания типа [] MyInterface [] MyStructType? – JimPaek
@JimPaek: Sry, это было плохо написано: я просто попытался выяснить, как создать экземпляр типа оригинала. И не нашел пути. (То, что я хотел, было 'MyStructType'). –