Maison > développement back-end > Golang > Pourquoi est-ce que j'obtiens des objets vides lorsque j'interroge MongoDB avec Go ?

Pourquoi est-ce que j'obtiens des objets vides lorsque j'interroge MongoDB avec Go ?

DDD
Libérer: 2024-12-11 18:52:11
original
541 Les gens l'ont consulté

Why Am I Getting Empty Objects When Querying MongoDB with Go?

Objets vides dans les requêtes MongoDB avec Go

Lors de l'apprentissage du développement de l'API Go, vous pouvez rencontrer des problèmes pour récupérer des données de MongoDB à l'aide du package mgo. L'un de ces problèmes consiste à obtenir des objets vides lors de l'exécution de requêtes. Pour résoudre ce problème, il est essentiel de comprendre l'utilisation des balises BSON et JSON dans la structure Go.

Dans votre code fourni, le problème survient car les champs de la structure des utilisateurs ne sont ni exportés ni balisés. Par conséquent, ils sont ignorés par le package mgo. Pour résoudre ce problème, vous devez exporter les champs en mettant les premières lettres en majuscule, comme :

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

Par défaut, le nom du champ est supposé lors de la transformation des valeurs de structure vers/depuis MongoDB. Cependant, les balises vous permettent de mapper des champs à des noms spécifiques pour la sérialisation et la récupération. Dans ce cas, vous avez défini des balises pour correspondre aux noms de champs BSON et JSON.

Après ces modifications, votre code récupérera avec succès les objets non vides de la collection MongoDB. La ligne d'impression affichera les données utilisateur correctes et le nombre de messages dans la collection.

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