MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment gérer un hachage arbitraire renvoyé par mongo in go (en utilisant mgo) ?

Vous pouvez utiliser une carte générique, par exemple :

var result map[string]interface{}
err := collection.Find(query).One(&result)

Vous trouverez des personnes utilisant bson.M , qui est également une carte avec ce même type sous-jacent. Il n'y a rien de spécial à propos de bson.M , pourtant. C'est juste un nom court et pratique pour une carte. Vous pouvez créer votre propre nom pratique ou utiliser une carte simple comme dans l'exemple ci-dessus.

Une autre façon d'accéder aux documents sans schéma défini consiste à utiliser bson.D à la place du type de carte ci-dessus. bson.D est plus utile lorsque l'ordre des éléments dans le document est pertinent, ou si vous souhaitez réduire légèrement la surcharge de l'opération (les cartes sont un peu plus coûteuses à gérer en raison de leur nature). Le bson.D type est une tranche de valeurs de structure avec des paires clé/valeur. Contrairement à bson.M , bson.D est spécial et est géré en interne par le paquet mgo/bson.