簡體   English   中英

如何從Google數據存儲中檢索數據?

[英]How to retrieve data from the Google Datastore?

我使用Java Servlet。 我寫了沒有錯誤的代碼,但是它總是返回一個空列表。 我想從Servlet更新數據存儲。 我只想閱讀實體。 我附上我的代碼,告訴我問題出在哪里。

我總是得到數據存儲是空的,這只是一個測試代碼,即使這似乎也行得通。 在互聯網上搜索了一周。 都是徒勞的。

public class TestServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws IOException {
    resp.setContentType("text/plain");
    resp.getWriter().println("Hello, world");

    DatastoreService datastoreService = DatastoreServiceFactory.getDatastoreService();
    resp.getWriter().println(datastoreService.getIndexes());


    if (datastoreService.getIndexes().isEmpty())
        resp.getWriter().println("the data store is empty");


    Query query = new Query("IMAGES");
    PreparedQuery pq = datastoreService.prepare(query);


    for (Entity entity :pq.asIterable())

    {
        resp.getWriter().println(entity.getKind() );
        resp.getWriter().println(entity.getAppId() );

        resp.getWriter().println(entity.getKey() );
    }

    if (!pq.asIterable().iterator().hasNext())
        resp.getWriter().println("the data store is empty");



}

我糾正了我的問題。 我忘記添加名稱空間。 這是有關如何在GAE DataStore中設置名稱空間的代碼段。

// Set the namepace temporarily to "abc"
String oldNamespace = NamespaceManager.get();
NamespaceManager.set("abc");
try {
  ... perform operation using current namespace ...
} finally {
  NamespaceManager.set(oldNamespace);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM