Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Membina dan Lulus Dokumen BSON dalam Go untuk MongoDB?
Membina dan Menghantar Dokumen BSON dalam Go dengan MongoDB
Dalam aplikasi Go anda, anda menghadapi masalah di mana percubaan untuk memasukkan dokumen BSON menggunakan fungsi Insert(interface{}) dalam dbEngine.go mengakibatkan ralat: "panic: Can't marshall interface {} as a Dokumen BSON."
Untuk menyelesaikan isu ini, adalah penting untuk memahami bahawa dalam Go, anda tidak perlu membuat dan menghantar dokumen BSON secara manual. Sebaliknya, anda boleh menggunakan ciri MongoDB BSON marshaling, yang menukar struct Go ke dalam dokumen BSON secara automatik.
Untuk melaksanakan ini, buat struct dalam account.go untuk mewakili dokumen yang ingin anda masukkan, contohnya:
type Account struct { Id bson.ObjectId `bson:"_id"` BalanceAmount int }
Dalam dbEngine.go anda, kemas kini fungsi Sisipkan sebagai berikut:
func Insert(document interface{}){ session, err := mgo.Dial("localhost") // error handling c := session.DB("db_name").C("collection_name") err = c.Insert(document) }
Akhir sekali, dalam aplikasi utama, nyatakan struct Akaun, tetapkan medannya dan hantar ke fungsi Sisip:
acc := Account{} acc.Id = bson.NewObjectId() acc.BalanceAmount = 3 dbEngine.Insert(&acc);
Dengan mengikuti langkah ini, anda boleh memudahkan proses pengendalian dokumen BSON dan mengelakkan ralat yang anda hadapi.
Atas ialah kandungan terperinci Bagaimana untuk Membina dan Lulus Dokumen BSON dalam Go untuk MongoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!