U kunt een algemene kaart gebruiken, bijvoorbeeld:
var result map[string]interface{}
err := collection.Find(query).One(&result)
Je zult mensen vinden die bson.M
. gebruiken , wat ook een kaart is met hetzelfde onderliggende type. Er is niets bijzonders aan bson.M
, hoewel. Het is maar een korte en handige naam voor een kaart. U kunt uw eigen handige naam maken of een gewone kaart gebruiken zoals in het bovenstaande voorbeeld.
Een andere manier om toegang te krijgen tot documenten zonder een gedefinieerd schema is het gebruik van bson.D
in plaats van het kaarttype hierboven. bson.D
is vooral handig wanneer de volgorde van elementen in het document relevant is, of als u de overhead iets wilt verminderen (kaarten zijn vanwege hun aard iets duurder in het gebruik). De bson.D
type is een segment van structwaarden met sleutel/waarde-paren. In tegenstelling tot bson.M
, bson.D
is speciaal en wordt intern afgehandeld door het mgo/bson-pakket.