0

我已經使用Android Studio後端在GAE數據存儲中保存了一些數據,並且能夠在數據存儲控制檯中看到該數據。但是,當我嘗試使用查詢從應用程序中相同的後端檢索數據時,它根本沒有返回任何內容。而且它也沒有拋出任何錯誤。這裏是一個應該找回那種「匹配」的實體的代碼片段:GAE數據存儲獲取查詢不返回任何東西

 Date date=new Date(); 
     Filter filter=new FilterPredicate("matchTime", FilterOperator.GREATER_THAN,date); 
     Query qry=new Query("Match").setFilter(filter); 
     PreparedQuery pq=datastoreService.prepare(qry); 
     List<Entity> entities=pq.asList(FetchOptions.Builder.withLimit(5)); 

以下是我已經嘗試過:

  • 除去過濾器,只用:查詢QRY =新查詢(「匹配」)
  • 嘗試使用父鍵進行查詢,即使在我的理解中應該是沒有父鍵的查詢的子集。

在所有情況下,我只有一個空列表沒有任何錯誤。請在這裏建議我做錯了什麼。我在不同時間執行的放置操作工作得很好,所以必須與查詢有關。

回答

0

你的代碼沒有問題。

檢查您是否使用了正確的實體類型(代碼中的「匹配」)。我使用靜態常量來表示種類和屬性名稱。許多開發人員使用類名作爲種類。在這兩種情況下,這個想法都是爲了在查詢中提供種類或屬性名稱時防止輸入錯誤。

+0

謝謝,這真的很有幫助。 –