2014-11-20 41 views
3

我的應用程序爲用戶彙總了許多不同類型的數據的報告,此報告需要一段時間才能編譯,並且用戶在以後看到此快照很有用,所以我保存了一份將數據編譯到數據存儲區中的單獨Kind中。然後,可能幾個月後,用戶拉起我保存的副本,但我想查詢數據存儲區中每個實體上只有一個特定的狀態字段,這些字段可能在它們最初運行報告後發生了變化,以查看該實體是否發生了變化因爲他們首先查看報告。GAE數據存儲,帶投影的GetMulti()?

所以,我有我需要的所有密鑰,我可以做一個datastore.GetMulti()。但是可能會有數千個實體,每個實體都有很多字段,所以我想知道是否有更高效的查詢數據存儲的方法來獲取這一個字段,而不是整個數據集。像投影查詢和GetMulti()的組合,但我在文檔中找不到像這樣的東西,我錯過了什麼?

回答

3

投影查詢不必僅限於單個實體。您可以使用投影查詢完成此操作。在你的情況,這樣的事情:

q := datastore.NewQuery("EntityKindYouDefinedName").Project("status_property") 

See the doc有關如何處理該投影查詢結果的詳細信息。