Maison > développement back-end > Golang > Comment filtrer des champs spécifiques des documents MongoDB à l'aide du pilote Mongo-Go-Driver ?

Comment filtrer des champs spécifiques des documents MongoDB à l'aide du pilote Mongo-Go-Driver ?

Susan Sarandon
Libérer: 2024-12-19 03:55:12
original
986 Les gens l'ont consulté

How to Filter Specific Fields from MongoDB Documents using the Mongo-Go-Driver?

Filtrage des champs des documents MongoDB avec Mongo-Go-Driver

Pour filtrer des champs spécifiques d'un document MongoDB à l'aide de Mongodb-Go-Driver, l'option findopt.Projection peut être utilisée. Cependant, dans le code que vous avez fourni, le problème survient car le champ _id dans la structure des champs n'est pas exporté (commençant par une lettre minuscule).

Solution révisée :

Pour résoudre ce problème, le nom du champ doit être exporté (en commençant par une lettre majuscule) et utiliser des balises struct pour le mapper au champ MongoDB _id. Le code mis à jour :

type fields struct {
    ID int `bson:"_id"`
}
Copier après la connexion

Projection à l'aide de l'option de projection :

Pour effectuer une requête avec projection, utilisez la méthode options.FindOne().SetProjection(projection) , où projection représente les champs que vous souhaitez récupérer.

Mise à jour Code :

projection := fields{
    ID: 0,
}
result := staCon.collection.FindOne(
    nil, filter, options.FindOne().SetProjection(projection)).Decode(s)
Copier après la connexion

Utilisation alternative de bson.Document :

Alternativement, un bson.Document peut être utilisé comme projection :

projection := bson.NewDocument(
    bson.EC.Int32("_id", 0),
)
result := staCon.collection.FindOne(
    nil, filter, options.FindOne().SetProjection(projection)).Decode(s)
Copier après la connexion

En utilisant ces approches, vous pouvez filtrer des champs spécifiques des documents MongoDB, en supprimant les champs inutiles tels que _id si souhaité.

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 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