„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie behandle ich dynamische Eigenschaften im Google App Engine -Datenspeicher mit GO?

Wie behandle ich dynamische Eigenschaften im Google App Engine -Datenspeicher mit GO?

Gepostet am 2025-03-24
Durchsuche:857

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

So implementieren Sie dynamische Eigenschaften in Google App Engine DataStore

Das Google App Engine -DataStore bietet eine leistungsstarke Datenspeicherlösung für Webanwendungen, bietet Flexibilität und Skalierbarkeit. Manchmal müssen Daten mit dynamischen Eigenschaften gespeichert werden, was bedeutet, dass Eigenschaften nicht im Voraus deklariert werden. Dies kann erreicht werden, indem Google App Engine von PropertyLoadSaver -Schnittstelle von Google App Engine nutzt. Durch die Implementierung dieser Schnittstelle erhalten Sie die Kontrolle über das Dynamic -Eigenschaftsbearbeitung.

PropertyList Type

Die GO App Engine -Plattform bietet einen PropertyList -Typ, der die Eigenschaftsloadaver -Schnittstelle implementiert. PropertyList ist im Wesentlichen ein Stück Eigenschaften, mit dem Sie Eigenschaften dynamisch hinzufügen und entfernen können. // Erstellen Sie eine Eigenschaftsliste, um die dynamischen Eigenschaften zu halten. Requisiten: = DataStore.PropertyList { DataStore.property {Name: "Zeit", Wert: time.now ()}, DataStore.property {Name: "E -Mail", Wert: "[E -Mail   Protected]"}, } // Erstellen Sie einen unvollständigen Schlüssel für die neue Entität. K: = DataStore. // Speichern Sie die Entität mit der PropertyList. Schlüssel, err: = datAsStore.put (CTX, K & Props)

Dieser Code -Snippet erstellt eine Entität mit der Art "Dynentity" und zwei dynamischen Eigenschaften: "Zeit" und "E -Mail". Die PropertyList wird als Wert für die Entität gespeichert.

Implementieren Sie Ihre eigene PropertyLoadSaver (optional)

Sie können bei Bedarf auch Ihre eigene PropertyloadSaver implementieren. Hier ist ein Beispiel mit einem benutzerdefinierten Typ namens "Dynent":

import "google.golang.org/appengine/datastore" Geben Sie Dynent Map [String] Schnittstelle {} ein func (d *dynent) load (props [] datAsStore.property) fehler { Für _, p: = Bereichsrequisiten { (*D) [P.Name] = p.Value } Null zurückkehren } func (d *dynent) speichern (props [] DataStore.property, Err Fehler) Fehler { für k, v: = Bereich *d { props = append (props, DataStore.property {Name: k, Wert: v}) } Return err zurück }

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)

importieren "google.golang.org/appengine/datastore" // Erstellen Sie eine Dynent mit dynamischen Eigenschaften. D: = Dynent {"E -Mail": "[E -Mail   geschützt]", "Zeit": time.now ()} // Erstellen Sie einen unvollständigen Schlüssel für die neue Entität. K: = DataStore. // Speichern Sie die Entität mit dem Dynent. Schlüssel, err: = DataStore.put (ctx, k, & d)

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3