Transmission de documents BSON dans Go Lang
Dans Go, vous pouvez vous connecter à MongoDB et manipuler des données à l'aide de la bibliothèque mgo. Pour insérer des documents dans MongoDB, vous devez construire des documents BSON, qui représentent les données que vous souhaitez stocker.
Lorsque vous transmettez un document BSON à une fonction dans un autre package (par exemple, dbEngine.go), vous pouvez rencontrer une erreur lors de l'utilisation du type interface{}. En effet, mgo s'attend à ce qu'un type spécifique soit mappé à la structure du document BSON.
Au lieu de créer des documents BSON manuellement, il est recommandé d'utiliser une structure Go pour définir la forme des données que vous souhaitez insérer. Par exemple, dans account.go, vous pouvez créer une structure comme :
type Account struct { Id bson.ObjectId `bson:"_id"` BalanceAmount int // Other field }
Ensuite, dans dbEngine.go, vous pouvez mettre à jour votre fonction Insert pour accepter un pointeur vers la structure :
func Insert(document interface{}){ session, err := mgo.Dial("localhost") // check error c := session.DB("db_name").C("collection_name") err := c.Insert(document) }
Enfin, vous pouvez utiliser la structure pour créer un nouveau compte et l'insérer dans MongoDB :
acc := Account{} acc.Id = bson.NewObjectId() acc.BalanceAmount = 3 dbEngine.Insert(&acc);
Par en utilisant une structure, vous vous assurez que les données sont correctement formatées et compatibles avec la structure du document BSON requise par MongoDB.
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!