Übergabe von BSON-Dokumenten in Go Lang
In Go können Sie eine Verbindung zu MongoDB herstellen und Daten mithilfe der MGO-Bibliothek bearbeiten. Um Dokumente in MongoDB einzufügen, müssen Sie BSON-Dokumente erstellen, die die Daten darstellen, die Sie speichern möchten.
Beim Übergeben eines BSON-Dokuments an eine Funktion in einem anderen Paket (z. B. dbEngine.go) kann es zu Problemen kommen ein Fehler bei der Verwendung des Typs interface{}. Dies liegt daran, dass mgo erwartet, dass ein bestimmter Typ der BSON-Dokumentstruktur zugeordnet wird.
Anstatt BSON-Dokumente manuell zu erstellen, wird empfohlen, eine Go-Struktur zu verwenden, um die Form der Daten zu definieren, die Sie einfügen möchten. Beispielsweise können Sie in account.go eine Struktur wie folgt erstellen:
type Account struct { Id bson.ObjectId `bson:"_id"` BalanceAmount int // Other field }
Dann können Sie in dbEngine.go Ihre Einfügefunktion aktualisieren, um einen Zeiger auf die Struktur zu akzeptieren:
func Insert(document interface{}){ session, err := mgo.Dial("localhost") // check error c := session.DB("db_name").C("collection_name") err := c.Insert(document) }
Schließlich können Sie mit der Struktur ein neues Konto erstellen und es in MongoDB einfügen:
acc := Account{} acc.Id = bson.NewObjectId() acc.BalanceAmount = 3 dbEngine.Insert(&acc);
Durch die Verwendung von a struct stellen Sie sicher, dass die Daten richtig formatiert und mit der von MongoDB geforderten BSON-Dokumentstruktur kompatibel sind.
Das obige ist der detaillierte Inhalt vonWie übergebe ich BSON-Dokumente an Funktionen in Go mit mgo?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!