如何使用java更新谷歌应用引擎中的数据存储的字段值

我在数据存储中创建了一个Login(Kind)。 在登录中,我创建了两个字段username和passsword。 当用户更改密码时,我想更新数据存储区内的字段值。 但是当我使用这段代码时,

DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); Entity passwordchange = new Entity("Login"); passwordchange.setProperty("password", "admin@123"); datastore.put(passwordchange); 

它会创建一个新行并插入密码“admin @ 123”,而不是在同一行中更新新密码。

任何人都可以建议我如何更新字段的数据。

如果要更新实体,可以使用以下两种方法:

A.通过其ID从数据存储区中检索此实体。 更新属性。 把它放回数据存储区。

 try { loginEntity = datastore.get(KeyFactory.createKey("login", id)); loginEntity.setProperty("password", "admin@123"); datastore.put(loginEntity); } catch (EntityNotFoundException e) { // This should never happen } 

B.使用相同的ID创建新实体。 添加所有属性。 放入数据存储区 – 它将覆盖旧实体。

 Entity loginEntity = new Entity("login", id); loginEntity.setProperty("password", "admin@123"); datastore.put(loginEntity); 

在这两个示例中,id是您要更改的实体的ID。

我希望你不要将密码存储为字符串。