Java 如何以编程方式更新appengine数据存储中的数据?
我刚开始使用Java 如何以编程方式更新appengine数据存储中的数据?,java,google-app-engine,google-cloud-datastore,Java,Google App Engine,Google Cloud Datastore,我刚开始使用appengine datastore,并寻找在获取数据时更新数据的方法。代码如下: DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); Query q = new Query("Users").addFilter("value", Query.FilterOperator.EQUAL, 1); PreparedQuery pq = datastore.prepare(q);
appengine datastore
,并寻找在获取数据时更新数据的方法。代码如下:
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Query q = new Query("Users").addFilter("value", Query.FilterOperator.EQUAL, 1);
PreparedQuery pq = datastore.prepare(q);
if(pq!=null) {
for (com.google.appengine.api.datastore.Entity result : pq.asIterable()) {
nodeID = result.getProperty("nodeId").toString();
result.setProperty("value",0);
datastore.put(result);
break;
}
}
它正在获取数据,但无法更新
数据存储
中的值
字段。我在这里做错了什么?我尝试了你上面的代码,它对我很有效
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Query q = new Query("Users").addFilter("value", Query.FilterOperator.EQUAL, 1);
PreparedQuery pq = datastore.prepare(q);
if(pq!=null) {
for (com.google.appengine.api.datastore.Entity result : pq.asIterable()) {
nodeID = result.getProperty("nodeId").toString();
result.setProperty("value",0);
datastore.put(result);
break;
}
}
以何种方式“无法更新
数据存储
中的值
字段”?我使用了result.setproperty(“值”,0)代码>你怎么知道它不工作?我可以在“localhost:8080/_ah/api/explorer”中看到数据存储数据,你是说本地数据存储查看器吗?您看到的可能是最终的一致性,因此,如果您在put()
之后对实体执行datastore.get(key)
操作,会发生什么?这会告诉你它是否有效。