Maison >développement back-end >Golang >Pourquoi mes requêtes Go mgo renvoient-elles des objets vides ?

Pourquoi mes requêtes Go mgo renvoient-elles des objets vides ?

DDD
DDDoriginal
2024-12-17 08:36:25708parcourir

Why are my Go mgo queries returning empty objects?

Go mgo : récupération d'objets vides

Lorsque vous tentez de récupérer des objets d'une instance MongoDB à l'aide du package Go mgo, il est possible de rencontrer des objets vides. objets de résultat. Ce problème peut provenir d'une mauvaise gestion des champs dans les structures utilisées pour représenter les documents MongoDB.

Dans votre exemple de code, vous définissez une structure utilisateur avec les champs suivants :

type users struct {
    user string `bson:"user" json:"user"`
    data string
}

Cependant, les champs ne sont pas exportés (première lettre majuscule). En conséquence, le package mgo les ignore lors de la sérialisation et de la désérialisation avec MongoDB. Pour résoudre ce problème, exportez les champs :

type users struct {
    User string `bson:"user" json:"user"`
    Data string `bson:"data" json:"data"`
}

En exportant les champs (en utilisant les premières lettres majuscules), le package mgo peut désormais les reconnaître et les mapper aux champs MongoDB correspondants. Pour rappel, par défaut, les noms de champs dans la structure sont utilisés pour le mappage. Pour spécifier un mappage personnalisé, utilisez des balises (telles que bson et json dans l'exemple).

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!

Déclaration:
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