Mengendalikan Koleksi MongoDB Tidak Berstruktur dengan mGo
Untuk pemula dalam Go, mungkin membingungkan cara bekerja dengan koleksi MongoDB tidak berstruktur menggunakan mGo. Tidak seperti PHP, di mana dokumen boleh ditugaskan kepada tatasusunan, mGo memerlukan penyusunan struktur yang telah ditetapkan untuk berinteraksi dengan koleksi.
Menangani Ketaksamaan
Mujurlah, terdapat beberapa pendekatan untuk dikendalikan koleksi tidak berstruktur dalam Go with mGo:
Menggunakan peta[rentetan]antara muka{} (cth., bson.M) membolehkan anda menyimpan pasangan nilai kunci data tidak dikenal pasti. Ia menyediakan akses terus kepada nilai utama tanpa memerlukan struktur yang telah ditetapkan.
var m bson.M err := collection.Find(nil).One(&m) check(err) for key, value := range m { fmt.Println(key, value) }
bson.D ialah kepingan yang mengekalkan susunan kunci. Ia amat berguna untuk mengekalkan jujukan kunci seperti yang ditakrifkan dalam indeks MongoDB.
var d bson.D err := collection.Find(nil).One(&d) check(err) for i, elem := range d { fmt.Println(elem.Name, elem.Value) }
Menggabungkan kelebihan struct dan peta, medan peta sebaris membolehkan anda menentukan medan tertentu sambil meninggalkan ruang untuk tidak diketahui satu.
type Person struct { ID bson.ObjectId `bson:"_id,omitempty"` Name string Phone string Extra bson.M `bson:",inline"` }
Dengan teknik ini, anda boleh memanipulasi kedua-dua data berstruktur dan tidak berstruktur dalam koleksi MongoDB dengan mudah.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan Koleksi MongoDB Tidak Berstruktur dengan Berkesan dengan mGo in Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!