Dapatkan semua data daripada koleksi komposit mongodb menggunakan penapis dalam golang

WBOY
Lepaskan: 2024-02-06 10:36:13
ke hadapan
630 orang telah melayarinya

Dapatkan semua data daripada koleksi komposit mongodb menggunakan penapis dalam golang

Kandungan soalan

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})
}
Salin selepas log masuk

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"`
}
Salin selepas log masuk

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.


Jawapan Betul


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")}
Salin selepas log masuk

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!

sumber:stackoverflow.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!