Можете да използвате обща карта, например:
var result map[string]interface{}
err := collection.Find(query).One(&result)
Ще намерите хора, които използват bson.M
, което също е карта със същия основен тип. Няма нищо специално за bson.M
, обаче. Това е просто кратко и удобно име за карта. Можете да създадете свое собствено удобно име или да използвате обикновена карта, както в примера по-горе.
Друг начин за достъп до документи без дефинирана схема е използването на bson.D
на мястото на типа карта по-горе. bson.D
е най-полезен, когато редът на елементите в документа е уместен или ако искате леко да намалите оперативните разходи (картите са малко по-скъпи за работа поради тяхното естество). bson.D
type е срез от стойности на структура с двойки ключ/стойност. За разлика от bson.M
, bson.D
е специален и се обработва вътрешно от пакета mgo/bson.