Du kan använda en generisk karta, till exempel:
var result map[string]interface{}
err := collection.Find(query).One(&result)
Du hittar personer som använder bson.M , som också är en karta med samma underliggande typ. Det finns inget speciellt med bson.M , fastän. Det är bara ett kort och bekvämt namn på en karta. Du kan skapa ditt eget bekväma namn eller använda en vanlig karta som i exemplet ovan.
Ett annat sätt att få tillgång till dokument utan ett definierat schema är att använda bson.D i stället för karttypen ovan. bson.D är mest användbar när ordningen på element i dokumentet är relevant, eller om du vill minska operationskostnaden något (kartor är lite dyrare att hantera på grund av sin natur). bson.D typ är en del av strukturvärden med nyckel/värde-par. Till skillnad från bson.M , bson.D är speciell och hanteras internt av mgo/bson-paketet.