Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何以编程方式更新appengine数据存储中的数据?_Java_Google App Engine_Google Cloud Datastore - Fatal编程技术网

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)
操作,会发生什么?这会告诉你它是否有效。