Maison > développement back-end > Golang > le corps du texte

Obtenez toutes les données de la collection composite MongoDB en utilisant le filtre dans Golang

WBOY
Libérer: 2024-02-06 10:36:13
avant
629 Les gens l'ont consulté

Obtenez toutes les données de la collection composite MongoDB en utilisant le filtre dans Golang

Contenu de la question

J'essaie d'obtenir toutes les données en utilisant le champ de nom que j'ai spécifié dans le corps de la demande d'API. J'ai créé un filtre pour la fonction .find(). Mais je ne parviens à obtenir aucun résultat (le corps de la réponse affiche null, aucune erreur). Vous pouvez voir mon fichier modèle et le reste du code en bas.

Contrôleur :

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})
}
Copier après la connexion

Fichier modèle :

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"`
}
Copier après la connexion

J'essaie de filtrer en fonction du nom d'utilisateur et d'obtenir toutes les données de l'utilisateur. Mais je pense que j'ai un bug dans la partie filtre ou dans tout le code car je ne parviens à récupérer aucune donnée. Ce que je reçois en retour est vide.


Bonne réponse


Votre filtre correspondra aux documents contenant le champ patient 是嵌入文档且具有与给定值匹配的单个 name.

Pour filtrer par champ intégré dans le document, vous devez utiliser la notation par points :

filter := bson.M{"Patient.Name": ctx.Query("name")}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!