sat*_*hya 8 java google-app-engine google-cloud-datastore
我在数据存储中创建了一个Login(Kind).在登录中,我创建了两个字段username和passsword.当用户更改密码时,我想更新数据存储区内的字段值.但是当我使用这段代码时,
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Entity passwordchange = new Entity("Login");
passwordchange.setProperty("password", "admin@123");
datastore.put(passwordchange);
Run Code Online (Sandbox Code Playgroud)
它会创建一个新行并插入密码"admin @ 123",而不是在同一行中更新新密码.
任何人都可以建议我如何更新字段的数据.
And*_*gin 21
如果要更新实体,可以使用以下两种方法:
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
}
Run Code Online (Sandbox Code Playgroud)
B.使用相同的id创建新实体.添加所有属性.放入数据存储区 - 它将覆盖旧实体.
Entity loginEntity = new Entity("login", id);
loginEntity.setProperty("password", "admin@123");
datastore.put(loginEntity);
Run Code Online (Sandbox Code Playgroud)
在这两个示例中,id是您要更改的实体的ID.
我希望你不要将密码存储为字符串.
| 归档时间: |
|
| 查看次数: |
6219 次 |
| 最近记录: |