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"` }
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)
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)
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!