Maison > Article > développement back-end > Comment conserver les valeurs vides dans les mises à jour de MongoDB à l'aide de « omitempty » de Golang ?
Comment gérer les valeurs vides dans les mises à jour de MongoDB avec « omitempty » dans les structures Golang
Introduction
Les structures Golang avec des champs « omitempty » permettent de mapper des valeurs JSON sélectives dans la structure, en excluant les champs avec des valeurs vides. Cependant, cela peut entraîner des difficultés lors de la mise à jour des documents MongoDB, car les valeurs vides peuvent ne pas être reflétées dans la base de données.
Problème
Lors de l'utilisation d'une structure avec "omitempty" indicateur pour mapper les valeurs du formulaire JSON, les champs vides sont ignorés. Cela pose des problèmes lors de la mise à jour des documents dans MongoDB :
Exigence
Maintenir l'indicateur "omitempty" tout en préservant la possibilité de sauvegarder des valeurs vides ou mises à jour dans MongoDB est essentiel pour une mise à jour flexible et robuste processus.
Solution
Pour résoudre ce problème, convertissez les champs concernés dans la structure vers des pointeurs :
type Coupon struct { Id *int `json:"id,omitempty" bson:"_id,omitempty"` Name string `json:"name,omitempty" bson:"name,omitempty"` Code string `json:"code,omitempty" bson:"code,omitempty"` Description string `json:"description,omitempty" bson:"description,omitempty"` Status *bool `json:"status" bson:"status"` MaxUsageLimit *int `json:"max_usage_limit,omitempty" bson:"max_usage_limit,omitempty"` SingleUsePerUser *bool `json:"single_use_per_user,omitempty" bson:"single_use_per_user,omitempty"` }
De cette façon :
En utilisant des pointeurs, nous permettons la flexibilité de gérer à la fois les valeurs vides et mises à jour dans les mises à jour de MongoDB tout en conservant le comportement "omitempty".
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!