public static void main(String... args) { Datastore datastore = DatastoreOptions.getDefaultInstance().getService(); KeyFactory keyFactory = datastore.newKeyFactory().setKind("keyKind"); Key key = keyFactory.newKey("keyName"); Entity entity = datastore.get(key); if (entity != null) { System.out.println("Updating access_time for " + entity.getString("name")); entity = Entity.newBuilder(entity).set("access_time", Timestamp.now()).build(); datastore.update(entity); } } }
/** Example of updating multiple entities. */ // [TARGET update(Entity...)] // [VARIABLE "my_key_name_1"] // [VARIABLE "my_key_name_2"] public void batchUpdateEntities(String keyName1, String keyName2) { // [START batchUpdateEntities] Key key1 = datastore.newKeyFactory().setKind("MyKind").newKey(keyName1); Entity.Builder entityBuilder1 = Entity.newBuilder(key1); entityBuilder1.set("propertyName", "updatedValue1"); Entity entity1 = entityBuilder1.build(); Key key2 = datastore.newKeyFactory().setKind("MyKind").newKey(keyName2); Entity.Builder entityBuilder2 = Entity.newBuilder(key2); entityBuilder2.set("propertyName", "updatedValue2"); Entity entity2 = entityBuilder2.build(); datastore.update(entity1, entity2); // [END batchUpdateEntities] }
@Test public void testUpdate() { List<Entity> keys = DATASTORE.fetch(ENTITY1.getKey(), ENTITY3.getKey()); assertEquals(ENTITY1, keys.get(0)); assertNull(keys.get(1)); assertEquals(2, keys.size()); try { DATASTORE.update(ENTITY3); fail("Expecting a failure"); } catch (DatastoreException expected) { // expected; } DATASTORE.add(ENTITY3); assertEquals(ENTITY3, DATASTORE.get(ENTITY3.getKey())); Entity entity3 = Entity.newBuilder(ENTITY3).clear().set("bla", new NullValue()).build(); assertNotEquals(ENTITY3, entity3); DATASTORE.update(entity3); assertEquals(entity3, DATASTORE.get(ENTITY3.getKey())); }
@Test public void testUpdate() { List<Entity> keys = datastore.fetch(ENTITY1.getKey(), ENTITY3.getKey()); assertEquals(ENTITY1, keys.get(0)); assertNull(keys.get(1)); assertEquals(2, keys.size()); try { datastore.update(ENTITY3); fail("Expecting a failure"); } catch (DatastoreException expected) { // expected; } datastore.add(ENTITY3); assertEquals(ENTITY3, datastore.get(ENTITY3.getKey())); Entity entity3 = Entity.newBuilder(ENTITY3).clear().set("bla", new NullValue()).build(); assertNotEquals(ENTITY3, entity3); datastore.update(entity3); assertEquals(entity3, datastore.get(ENTITY3.getKey())); }
/** * Updates a user in Cloud Datastore. */ public User updateUser(String id, String name, String email) { failIfInvalid(name, email); Key key = keyFactory.newKey(id); Entity entity = datastore.get(key); if (entity == null) { throw new IllegalArgumentException("No user with id '" + id + "' found"); } else { entity = Entity.newBuilder(entity) .set("id", id) .set("name", name) .set("email", email) .build(); datastore.update(entity); } return new User(id, name, email); }
Datastore ds = TransactionItem.ds(); UpdateOperations<TransactionItem> op = ds.createUpdateOperations(TransactionItem.class).set("paidInvoiceDocNum", String.valueOf(docNumber)); Query<TransactionItem> q = (Query<TransactionItem>)TransactionItem.q().filter("id in", itemsIds).getMorphiaQuery(); ds.update(q, op);