Le Google App Engine Datastore fournit une puissante solution de stockage de données pour les applications Web, offrant une flexibilité et une évolutivité. Parfois, il est nécessaire de stocker des données avec des propriétés dynamiques, ce qui signifie des propriétés qui ne sont pas déclarées à l'avance. Cela peut être réalisé dans GO en tirant parti de l'interface PropertyLoadsaver de Google App Engine.
L'interface PropertyLoadsaver vous permet de définir comment les propriétés d'une entité doivent être chargées et enregistrées dans le datastore. En implémentant cette interface, vous obtenez un contrôle sur la gestion dynamique des propriétés.
La plate-forme de moteur de l'application Go fournit un type de propriété qui implémente l'interface PropertyLoadSaver. PropertyList est essentiellement une tranche de propriétés, vous permettant d'ajouter et de supprimer les propriétés dynamiquement. // Créez une propriété Property pour maintenir les propriétés dynamiques. accessoires: = datastore.propertylist { dataStore.property {name: "time", valeur: time.now ()}, DataStore.Property {Name: "Email", valeur: "[Email & # 160; protégé]"}, } // Créez une clé incomplète pour la nouvelle entité. K: = Datastore.NewInCompleteKey (CTX, "Dyntity", NIL) // Enregistrez l'entité à l'aide de la propriété. Key, err: = datastore.put (ctx, k, & props)
implémentant votre propre propriété. Voici un exemple utilisant un type personnalisé appelé "dysent":
import "google.golang.org/appengine/datastore" // Create a PropertyList to hold the dynamic properties. props := datastore.PropertyList{ datastore.Property{Name: "time", Value: time.Now()}, datastore.Property{Name: "email", Value: "[email protected]"}, } // Create an incomplete key for the new entity. k := datastore.NewIncompleteKey(ctx, "DynEntity", nil) // Save the entity using the PropertyList. key, err := datastore.Put(ctx, k, &props)
Ce type dysent peut ensuite être utilisé pour stocker des entités aux propriétés dynamiques, comme illustré ci-dessous:
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3