Rumah >pembangunan bahagian belakang >Golang >Mengapa Medan '_id' Mgo Saya Mengembalikan Rentetan Kosong?

Mengapa Medan '_id' Mgo Saya Mengembalikan Rentetan Kosong?

Patricia Arquette
Patricia Arquetteasal
2024-11-11 16:53:03903semak imbas

Why Is My Mgo

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn