Maison > Article > développement back-end > Comment construire et transmettre des documents BSON dans Go pour MongoDB ?
Construire et transmettre des documents BSON dans Go avec MongoDB
Dans votre application Go, vous rencontrez un problème où les tentatives d'insertion d'un document BSON à l'aide la fonction Insert(interface{}) dans dbEngine.go génère l'erreur : "panique : impossible de marshaler l'interface {} en tant que BSON document."
Pour résoudre ce problème, il est important de comprendre que dans Go, vous n'avez pas besoin de créer et de transmettre manuellement des documents BSON. Au lieu de cela, vous pouvez utiliser la fonctionnalité de marshaling MongoDB BSON, qui convertit automatiquement les structures Go en documents BSON.
Pour implémenter cela, créez une structure dans account.go pour représenter le document que vous souhaitez insérer, par exemple :
type Account struct { Id bson.ObjectId `bson:"_id"` BalanceAmount int }
Dans votre dbEngine.go, mettez à jour la fonction Insert comme suit :
func Insert(document interface{}){ session, err := mgo.Dial("localhost") // error handling c := session.DB("db_name").C("collection_name") err = c.Insert(document) }
Enfin, dans l'application principale, instanciez une structure Account, définissez ses champs et transmettez-la à la fonction Insert :
acc := Account{} acc.Id = bson.NewObjectId() acc.BalanceAmount = 3 dbEngine.Insert(&acc);
En suivant ces étapes, vous pouvez simplifier le processus de gestion des documents BSON et éviter l'erreur que vous étiez rencontre.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!