Termasuk atau Tidak Termasuk Medan dalam Hasil Pertanyaan dengan pemandu mongo-go
Pemandu mongo-go menawarkan mekanisme untuk menapis medan daripada hasil pertanyaan, membolehkan anda memasukkan atau mengecualikan medan tertentu berdasarkan keperluan anda. Walau bagaimanapun, apabila cuba menggunakan pilihan findopt.Projection, anda mungkin menghadapi masalah jika nama medan tidak dieksport dengan betul.
Untuk menangani perkara ini, pastikan nama medan anda bermula dengan huruf besar, menunjukkan medan yang dieksport. Selain itu, anda boleh menggunakan tag struct untuk memetakan nama medan MongoDB ke medan struct Go anda, seperti yang ditunjukkan dalam contoh berikut:
type fields struct { ID int16 `bson:"_id"` }
Dengan nama medan dieksport dengan betul, anda boleh melakukan pertanyaan menggunakan unjuran seperti berikut:
var opts []*find.FindOptions projection := fields{ ID: 0, } opts = append(opts, find.Projection(projection)) s := bson.NewDocument() filter := bson.NewDocument(bson.EC.ObjectID("_id", starterId)) staCon.Collection.FindOne(nil, filter, opts...).Decode(s)
Sebagai alternatif, anda boleh menggunakan peta bson.M untuk menentukan unjuran:
options := find.FindOptions{} options.Projection = bson.M{"_id": 0} result := staCon.Collection.FindOne(nil, filter, &options).Decode(s)
Dengan menggunakan eksport medan yang betul dan unjuran, anda boleh menapis medan dengan berkesan daripada hasil pertanyaan MongoDB anda, menyesuaikan respons kepada keperluan khusus anda.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan atau Mengecualikan Medan dalam Keputusan Pertanyaan MongoDB menggunakan pemandu mongo-go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!