Go mgo: Pengambilan Objek Kosong
Apabila cuba mendapatkan semula objek daripada contoh MongoDB menggunakan pakej Go mgo, ada kemungkinan untuk menemui kosong objek hasil. Isu ini boleh berpunca daripada pengendalian medan yang tidak betul dalam struct yang digunakan untuk mewakili dokumen MongoDB.
Dalam sampel kod anda, anda mentakrifkan struct pengguna dengan medan berikut:
type users struct { user string `bson:"user" json:"user"` data string }
Walau bagaimanapun, medan tidak dieksport (huruf pertama huruf besar). Sehubungan itu, pakej mgo mengabaikannya semasa bersiri dan penyahserikatan dengan MongoDB. Untuk membetulkannya, eksport medan:
type users struct { User string `bson:"user" json:"user"` Data string `bson:"data" json:"data"` }
Dengan mengeksport medan (menggunakan huruf besar pertama), pakej mgo kini boleh mengecamnya dan memetakannya ke medan MongoDB yang sepadan. Sebagai peringatan, secara lalai, nama medan dalam struct digunakan untuk pemetaan. Untuk menentukan pemetaan tersuai, gunakan teg (seperti bson dan json dalam contoh).
Atas ialah kandungan terperinci Mengapa pertanyaan Go mgo saya mengembalikan objek kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!