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.