Динамическое получение информации о нескольких структурах в цикле

Мне нужно получить список коллекций и ключи каждой коллекции из Mongodb и сравнить эти ключи в цикле со структурой, имя которой совпадает с именем коллекции.

Структура в деталях.go

type Chats struct {
    Id  string
    Value string
}

//Controller.go Полученный список коллекций из Mongodb

names, err := db.CollectionNames()

Перебрать список коллекций и получить список ключей каждой коллекции. Пример чатов коллекции имеет идентификатор ключа и значение. Теперь в том же цикле я попытался получить поля структуры (имя коллекции похоже на имя структуры)

for _, name := range names {
     clKeyList := keylist(name)

     a := &models.name{} // here calling struct dynamically for every iteration but name gives error
     fmt.Println(name)

}

Пожалуйста, предложите какое-нибудь решение, работающее с последних двух дней, чтобы решить.


person Piyu Upa    schedule 14.06.2019    source источник
comment
stackoverflow.com/questions/18930910/   -  person Magiq    schedule 14.06.2019
comment
@Magiq Это неподходящий ответ. Я уже объяснил выше, что у меня несколько структур в разных моделях. Я запускаю цикл для списка коллекций, и на каждой итерации мне приходится вызывать соответствующую структуру внутри цикла for на основе имени коллекции.   -  person Piyu Upa    schedule 14.06.2019
comment
Вы можете определить карту, которая сопоставляет имя с нужным вам объектом, например, map[string]interface{}.   -  person Andy Schweig    schedule 14.06.2019