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

Pourquoi mon champ Mgo '_id' renvoie-t-il une chaîne vide ?

Patricia Arquette
Libérer: 2024-11-11 16:53:03
original
869 Les gens l'ont consulté

Why Is My Mgo

Récupération des valeurs "_id" avec Mgo et Go

Cette question répond à un problème où la valeur "_id" d'un document MongoDB est systématiquement renvoyé sous forme de chaîne vide lors de l'utilisation de mgo avec Go.

Problème Description :

L'utilisateur a défini une structure pour représenter les documents MongoDB, où le champ "_id" est annoté à la fois avec json:"id" et bson:"_id,omitempty". Lors de la récupération des documents de la base de données, le champ "_id" est toujours défini sur une chaîne vide.

Débogage et solution :

Après avoir examiné le code, il a été a découvert qu'il y avait une erreur subtile dans l'annotation du champ "_id". Dans l'annotation bson:"_id,omitempty", un onglet a été utilisé comme espace au lieu d'un espace. Cela a amené le pilote mgo à interpréter incorrectement l'annotation.

L'extrait de code suivant démontre la syntaxe correcte :

type Article struct {
    Id bson.ObjectId `json:"id" bson:"_id,omitempty"`
}
Copier après la connexion

Avec cette correction, la valeur _id est désormais correctement récupérée de la base de données et retourné comme prévu.

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