Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.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

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从Google数据存储中删除一行?_Java_Google App Engine_Google Cloud Datastore - Fatal编程技术网

如何使用Java从Google数据存储中删除一行?

如何使用Java从Google数据存储中删除一行?,java,google-app-engine,google-cloud-datastore,Java,Google App Engine,Google Cloud Datastore,我想从google数据存储中删除一行条目 我已编码: String[] elements = deletedRow.split(","); DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); Entity row = new Entity("Row"); Key rowKey;

我想从google数据存储中删除一行条目

我已编码:

            String[] elements = deletedRow.split(",");
            DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
            Entity row = new Entity("Row");
            Key rowKey;
            for (String element : elements) {
                row.setProperty("userName", "kapil.kaisare");
                out.print("UserName : " + element);
                row.setProperty("description", element);
                rowKey = row.getKey();
                out.print("\nKey : " + rowKey);
                datastore.delete(rowKey);
            }
deletedRow是一个来自ajaxjavascript调用的查询参数&肯定不是空的

用户名打印成功。而按键打印:

键:键0

这真让我吃惊!为什么即使我正在设置行属性,也会有键0

请提出一些解决办法

参考:,

参考文件:

如果实体尚未保存(例如,通过DatastoreService.put),则不会完全指定此密钥,并且不能用于某些操作(如DatastoreService.get)。保存实体后,其密钥将更新为完全指定

因此,除非在实体的构造函数中指定了完整密钥,否则不应尝试对从未保存到数据存储的实体使用该密钥。

请尝试以下操作

String[] elements = deletedRow.split(",");
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();

for (String element : elements) {
    Key key = KeyFactory.createKey("Row", element);
    datastore.delete(key);
}
我假设行是实体的类型,元素(即用户名?)是键名