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

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

Susan Sarandon
Libérer: 2024-12-16 14:46:15
original
594 Les gens l'ont consulté

Why are my Golang mgo queries returning empty user objects?

Objets vides dans les requêtes Golang mgo

Dans le code fourni, lors de l'interrogation de MongoDB pour un utilisateur spécifique avec col.Find(bson.M {"user": username}).One(&user), la structure utilisateur est initialisée comme un objet vide. Cela se produit car les champs de la structure des utilisateurs ne sont pas exportés, ce qui conduit le package mgo à les ignorer.

Résolution à l'aide des champs exportés

Pour résoudre ce problème, vous besoin d'exporter les champs de la structure des utilisateurs. Par défaut, les noms de champs sont utilisés lors de l'accès aux champs depuis MongoDB. Cependant, vous pouvez utiliser des balises pour spécifier des mappages de champs personnalisés.

Voici la structure modifiée avec les champs et les balises exportés :

type users struct {
    User string `bson:"user" json:"user"`
    Data string `bson:"data" json:"data"`
}
Copier après la connexion

Maintenant, les champs de la structure des utilisateurs sont correctement exportés et les requêtes renverront les résultats attendus.

Notes supplémentaires sur BSON et JSON Balises :

Les balises bson et json sont utilisées pour spécifier comment les champs de structure Go sont mappés aux documents MongoDB et aux données JSON, respectivement. La balise bson spécifie le nom du champ dans un document BSON et la balise json spécifie le nom du champ dans les données JSON.

Si vous ne spécifiez pas de balise, le nom du champ dans la structure sera utilisé par défaut. Cependant, l'utilisation de balises vous permet de personnaliser les noms de champs pour des raisons de compatibilité avec d'autres systèmes ou conventions.

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:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal