Heim > Artikel > Backend-Entwicklung > Wie erstellt und übergibt man BSON-Dokumente in Go for MongoDB?
Erstellen und Übergeben von BSON-Dokumenten in Go mit MongoDB
In Ihrer Go-Anwendung stoßen Sie auf ein Problem, bei dem versucht wird, ein BSON-Dokument mit einzufügen Die Funktion „Insert(interface{})“ in dbEngine.go führt zu folgendem Fehler: „Panik: Schnittstelle {} kann nicht als BSON gemarshallt werden.“ document."
Um dieses Problem zu beheben, ist es wichtig zu verstehen, dass Sie in Go BSON-Dokumente nicht manuell erstellen und übergeben müssen. Stattdessen können Sie die BSON-Marshalling-Funktion von MongoDB nutzen, die Go-Strukturen automatisch in BSON-Dokumente umwandelt.
Um dies zu implementieren, erstellen Sie eine Struktur in account.go, um das Dokument darzustellen, das Sie einfügen möchten, zum Beispiel:
type Account struct { Id bson.ObjectId `bson:"_id"` BalanceAmount int }
Aktualisieren Sie in Ihrer dbEngine.go die Funktion „Einfügen“ wie folgt:
func Insert(document interface{}){ session, err := mgo.Dial("localhost") // error handling c := session.DB("db_name").C("collection_name") err = c.Insert(document) }
Schließlich im Hauptteil Instanziieren Sie eine Kontostruktur, legen Sie ihre Felder fest und übergeben Sie sie an die Einfügefunktion:
acc := Account{} acc.Id = bson.NewObjectId() acc.BalanceAmount = 3 dbEngine.Insert(&acc);
Durch Befolgen dieser Schritte können Sie den BSON-Dokumentverarbeitungsprozess vereinfachen und den aufgetretenen Fehler vermeiden.
Das obige ist der detaillierte Inhalt vonWie erstellt und übergibt man BSON-Dokumente in Go for MongoDB?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!