简体   繁体   English

如何以编程方式更新Appengine数据存储区中的数据?

[英]How to update data in appengine datastore programmatically?

I just started to use appengine datastore and looking for a way to update the data while fetching it. 我刚刚开始使用appengine datastore并在获取数据时寻找一种更新数据的方法。 Here is the code: 这是代码:

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;

        }
    }

It's fetching the data but not able to update the value field in datastore . 它正在获取数据,但无法更新datastorevalue字段。 What I am doing wrong here? 我在这里做错了什么?

I tried your above code and it worked fine for me. 我尝试了上面的代码,对我来说很好。

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;

    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM