2014-12-19 60 views
0

如何使用低級別API在App引擎數據存儲中查找實體類型中的條目總數?與Java一起使用App引擎數據存儲低級API

我有一個函數或過濾器來查詢此目的?

我正在使用Java來實現這一點。

+0

可能重複[什麼是GQL計數查詢](http://stackoverflow.com/questions/27177513/what-is-the-gql-count-query) – Patrice

+0

@Patrice該答案中的鏈接重定向到Python文檔不是Java。 –

+0

不夠公平,但邏輯會相同。你可以使用user87049的答案,或者做一個通用的「獲取所有類型的實體」,並在返回的對象上運行「count()」。 – Patrice

回答

1

App Engine上有越來越的數據存儲統計數據編程的API:

DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); 
Entity globalStat = datastore.prepare(new Query("__Stat_Total__")).asSingleEntity(); 
Long totalBytes = (Long) globalStat.getProperty("bytes"); 
Long totalEntities = (Long) globalStat.getProperty("count") 

參見文檔:https://cloud.google.com/appengine/docs/java/datastore/stats

可以使用__Stat_Kind__

+0

謝謝:)完美! –

+0

如果能解決您的問題,請您接受我的答案嗎? – Price

+1

「__Stat_Total__」和「__Stat_Kind__」在本地開發服務器中不起作用。僅適用於App Engine服務器。 –

0

得到一個類型的實體我還需要取相同的統計數據,但是當我執行該代碼時,我得到一個NullpointerException指向Long totalBytes = (Long) globalStat.getProperty("bytes"); 你知道這是爲什麼嗎?謝謝

+0

你是否意識到你發佈了我的問題的答案,而不是評論你的查詢? –

+0

順便說一句你的問題,如果你已經複製了相同的代碼,在這種情況下可能會導入類的問題。 –

+0

我做到了,因爲我沒有足夠的聲望點評論其他人的帖子......; –

相關問題