Inclure ou exclure des champs dans les résultats de requête avec mongo-go-driver
Le mongo-go-driver propose un mécanisme pour filtrer les champs de résultats de la requête, vous permettant d'inclure ou d'exclure des champs spécifiques en fonction de vos besoins. Cependant, lorsque vous essayez d'utiliser l'option findopt.Projection, vous pouvez rencontrer des problèmes si les noms de champs ne sont pas exportés correctement.
Pour résoudre ce problème, assurez-vous que vos noms de champs commencent par une lettre majuscule, indiquant les champs exportés. De plus, vous pouvez utiliser des balises struct pour mapper les noms de champs MongoDB à vos champs de structure Go, comme indiqué dans l'exemple suivant :
type fields struct { ID int16 `bson:"_id"` }
Une fois les noms de champs correctement exportés, vous pouvez effectuer une requête à l'aide d'une projection. comme suit :
var opts []*find.FindOptions projection := fields{ ID: 0, } opts = append(opts, find.Projection(projection)) s := bson.NewDocument() filter := bson.NewDocument(bson.EC.ObjectID("_id", starterId)) staCon.Collection.FindOne(nil, filter, opts...).Decode(s)
Vous pouvez également utiliser une carte bson.M pour spécifier le projection :
options := find.FindOptions{} options.Projection = bson.M{"_id": 0} result := staCon.Collection.FindOne(nil, filter, &options).Decode(s)
En utilisant des exportations de champs appropriées et une projection, vous pouvez filtrer efficacement les champs à partir des résultats de votre requête MongoDB, en adaptant les réponses à vos besoins spécifiques.
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!