"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment gérer les propriétés dynamiques dans Google App Engine Datastore à l'aide de Go?

Comment gérer les propriétés dynamiques dans Google App Engine Datastore à l'aide de Go?

Publié le 2025-03-24
Parcourir:576

How to Handle Dynamic Properties in Google App Engine Datastore using Go?

Comment implémenter les propriétés dynamiques dans Go sur Google App Engine Datastore

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.

Interface PropertyLoadsaver

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.

Type de propriété

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)

Cet extrait de code crée une entité avec le type "dyntity" et deux propriétés dynamiques: "temps" et "e-mail". La propriété est enregistrée comme la valeur de l'entité.

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:

Importer "google.golang.org/appengine/datastore" // Créez un dynént avec des propriétés dynamiques. d: = dysent {"e-mail": "[e-mail & # 160; protégé]", "time": time.now ()} // Créez une clé incomplète pour la nouvelle entité. K: = Datastore.NewInCompleteKey (CTX, "Dyntity", NIL) // Enregistrez l'entité à l'aide du dysent. key, err: = datastore.put (ctx, k, & d)

Dernier tutoriel Plus>

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