Mendapatkan semula Nilai "_id" dengan Mgo dan Go
Soalan ini menangani isu di mana nilai "_id" dokumen MongoDB secara konsisten dikembalikan sebagai rentetan kosong apabila menggunakan mgo dengan Go.
Masalah Penerangan:
Pengguna menentukan struct untuk mewakili dokumen MongoDB, dengan medan "_id" dianotasi dengan json:"id" dan bson:"_id,omitempty". Apabila mengambil dokumen daripada pangkalan data, medan "_id" sentiasa ditetapkan kepada rentetan kosong.
Penyahpepijatan dan Penyelesaian:
Selepas memeriksa kod, ia telah mendapati bahawa terdapat ralat halus dalam anotasi medan "_id". Dalam anotasi bson:"_id,omitempty", tab telah digunakan sebagai ruang putih dan bukannya ruang. Ini menyebabkan pemandu mgo tersalah mentafsir anotasi.
Coretan kod berikut menunjukkan sintaks yang betul:
type Article struct { Id bson.ObjectId `json:"id" bson:"_id,omitempty"` }
Dengan pembetulan ini, nilai _id kini diambil dengan betul daripada pangkalan data dan dikembalikan seperti yang diharapkan.
Atas ialah kandungan terperinci Mengapa Medan '_id' Mgo Saya Mengembalikan Rentetan Kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!