Ho creato un'entità nel datastore di Google App Engine.Come eliminare entità dal motore di Google Search Engine Datastore?
Come posso rimuovere questa entità?
Ho creato un'entità nel datastore di Google App Engine.Come eliminare entità dal motore di Google Search Engine Datastore?
Come posso rimuovere questa entità?
Non hai specificato quale API stai utilizzando.
In Python è like so:
db.delete(modelId)
In Java dovrebbe essere like (non ho ancora testato questo):
PersistenceManager pm = PMF.get().getPersistenceManager();
MyModel entity = pm.getObjectById(MyModel.class, modelId);
pm.deletePersistent(entity);
pm.close();
in Python se si conosce la chiave è molto semplice:
db.delete(key)
come ottenere la chiave? –
Suppongo che tu abbia un endpoint:
Somethingendpoint endpoint = CloudEndpointUtils.updateBuilder(endpointBuilder).build();
E poi:
endpoint.remove<ModelName>(long ID);
Inoltre, si può anche provare qualcosa di simile alla seguente (In Python pseudo-codice):
class MyClass(ndb.Model):
myString = ndb.StringProperty(indexed=false)
def deleteAllEntities():
entities = MyClass.query()
for entity in entities:
entity.key.delete()
Certo ci sono modi migliori per farlo eliminazione di massa , ma questo è un modo che puoi usare se hai problemi.
Maggiori informazioni qui: https://cloud.google.com/appengine/docs/python/datastore/entities#Python_Deleting_an_entity
Il Python esempio non è corretta - 'chiave' è un nome di campo riservato, in modo da non può essere usato come una proprietà. Dovrebbe o filtrare su un'altra proprietà, o usare MyModel.get per ottenere la chiave. Nel primo caso, un batch delete come db.delete (MyModel.all(). Fetch (500)) è _much_ più efficiente. –
L'esempio Java mostra come rimuovere un singolo oggetto da un'entità (o Kind in google talk) usando JDO, non come rimuovere un'entità, infatti ottiene un oggetto specifico per id (modelId) e quindi lo elimina. Ad ogni modo per cancellare un tipo, devi cancellare tutti i dati in esso contenuti. – stivlo