2017-02-12 125 views
0

我是Google App Engine的新手,我試圖查詢數據存儲區的唯一標識符。例如,我試圖查詢下面附加的圖像的ID/Name字段。查詢Google App Engine中的唯一ID

Image of Local Database

截至目前,我的代碼是如下。 listID是我作爲long的ID,我正在進入KeyFactory。在這種情況下,它是4573968371548160或圖片中的第一個。

Key listKey = KeyFactory.createKey("Lists", listID); 
Query.FilterPredicate listFilter = new Query.FilterPredicate(Entity.KEY_RESERVED_PROPERTY, Query.FilterOperator.EQUAL, listKey); 
Query listQuery = new Query("Lists").setFilter(listFilter); 
List<Entity> listResults = datastore.prepare(listQuery).asList(FetchOptions.Builder.withDefaults()); 

不幸的是,listResults的大小返回0,我似乎無法弄清楚爲什麼。什麼是真正有趣的是,當我更改查詢到

Query.FilterPredicate listFilter = new Query.FilterPredicate(Entity.KEY_RESERVED_PROPERTY, Query.FilterOperator.GREATER_THAN, listKey);

listResults回報在數據存儲這兩個項目。

有人可以解釋爲什麼這可能是,我怎麼可能解決這個問題?

謝謝!

編輯:

long listID = Long.parseLong(total_json.getString("listID"));

是我如何初始化listID

+0

請問你如何初始化listID –

+0

我已經發布瞭如何初始化listID –

回答

0

原來,我寫

list = new Entity("Lists", listKeyName);

創建數據庫實體和我猜這使得它只能在該關鍵字上搜索。我刪除了listKeyName,現在一切正常。