Saya cuba mendapatkan semua data menggunakan medan nama yang saya nyatakan dalam badan permintaan api. Saya telah mencipta penapis untuk fungsi .find(). Tetapi saya tidak boleh mendapatkan sebarang keputusan (badan tindak balas menunjukkan batal, tiada ralat sama sekali). Anda boleh melihat fail model saya dan kod yang lain di bahagian bawah.
Pengawal:
func get_formbypatientfullname(ctx *gin.context) { col := mongodb.client.database(config.database_name).collection("consentforms") filter := bson.m{"patient": bson.m{"name": ctx.query("name")}} cursor, err := col.find(_context.todo(), filter) if err != nil { log.fatal(err) } var results []general_models.consentform if err = cursor.all(_context.todo(), &results); err != nil { log.fatal(err) } for _, result := range results { res, _ := json.marshal(result) fmt.println(string(res)) } ctx.indentedjson(http.statusok, gin.h{"data": results}) }
Fail model:
type ConsentForm struct { ID primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"` FormFileURL string `json:"FormFileURL" bson:"FormFileURL"` ProcessName string `json:"ProcessName" bson:"ProcessName"` DateOfNotification string `json:"DateOfNotification" bson:"DateOfNotification"` WitnessName string `json:"WitnessName" bson:"WitnessName"` WitnessSurname string `json:"WitnessSurname" bson:"WitnessSurname"` ResponsibleDoctor string `json:"ResponsibleDoctor" bson:"ResponsibleDoctor"` Patient IPatient `json:"Patient" bson:"Patient"` QuestionOptions IQuestionOptions `json:"QuestionOptions" bson:"QuestionOptions"` AdditionalDetails string `json:"AdditionalDetails" bson:"AdditionalDetails"` } type IPatient struct { // ID primitive.ObjectID `json:"_id,omitempty" bson:"_id,omitempty"` Name string `json:"Name" bson:"Name"` Surname string `json:"Surname" bson:"Surname"` Birthdate string `json:"Birthdate" bson:"Birthdate"` TCKN string `json:"TCKN" bson:"TCKN"` FacePhotoURL string `json:"FacePhotoURL" bson:"FacePhotoURL"` SignatureImageURL string `json:"SignatureImageURL" bson:"SignatureImageURL"` }
Saya cuba menapis berdasarkan nama pengguna dan mendapatkan semua data pengguna. Tetapi saya fikir saya mempunyai pepijat dalam bahagian penapis atau keseluruhan kod kerana saya tidak boleh mendapatkan semula sebarang data. Apa yang saya dapat sebagai balasan adalah kosong.
Penapis anda akan memadankan dokumen dengan medan patient
是嵌入文档且具有与给定值匹配的单个 name
di dalamnya.
Untuk menapis mengikut medan yang dibenamkan dalam dokumen, anda mesti menggunakan notasi titik:
filter := bson.M{"Patient.Name": ctx.Query("name")}
Atas ialah kandungan terperinci Dapatkan semua data daripada koleksi komposit mongodb menggunakan penapis dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!