Cara Mengendalikan Nilai Kosong dalam Kemas Kini MongoDB dengan "omitempty" dalam Struktur Golang
Pengenalan
Struktur Golang dengan medan "omitempty" membenarkan pemetaan JSON terpilih nilai ke dalam struktur, tidak termasuk medan dengan nilai kosong. Walau bagaimanapun, ini boleh membawa kepada cabaran apabila mengemas kini dokumen MongoDB, kerana nilai kosong mungkin tidak ditunjukkan dalam pangkalan data.
Masalah
Apabila menggunakan struktur dengan "penghilangan" bendera untuk memetakan nilai borang JSON, medan kosong diabaikan. Ini menimbulkan isu semasa mengemas kini dokumen dalam MongoDB:
Keperluan
Mengekalkan bendera "kehilangan" sambil mengekalkan keupayaan untuk menyimpan nilai kosong atau dikemas kini dalam MongoDB adalah penting untuk kemas kini yang fleksibel dan mantap proses.
Penyelesaian
Untuk menyelesaikan isu ini, tukar medan yang terjejas dalam struktur kepada penunjuk:
type Coupon struct { Id *int `json:"id,omitempty" bson:"_id,omitempty"` Name string `json:"name,omitempty" bson:"name,omitempty"` Code string `json:"code,omitempty" bson:"code,omitempty"` Description string `json:"description,omitempty" bson:"description,omitempty"` Status *bool `json:"status" bson:"status"` MaxUsageLimit *int `json:"max_usage_limit,omitempty" bson:"max_usage_limit,omitempty"` SingleUsePerUser *bool `json:"single_use_per_user,omitempty" bson:"single_use_per_user,omitempty"` }
Dengan cara ini:
Dengan menggunakan penunjuk , kami membolehkan fleksibiliti untuk mengendalikan kedua-dua nilai kosong dan kemas kini dalam kemas kini MongoDB sambil mengekalkan gelagat "mengabaikan".
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Nilai Kosong dalam Kemas Kini MongoDB Menggunakan `omitempty` Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!