2011-03-31 25 views
0

我遇到了與此處提到的相同的問題:Appengine filter inequality and ordering fails即我想按不屬於過濾器的屬性進行排序。對於例如在AppEngine(JDO)中,如何查詢需要通過屬性不屬於不等式過濾器的屬性進行排序的實體?

" select from " + Post.class.getName() + 
" where createdAt >= :yesterday && " + 
" createdAt <= :now " + 
" order by likes desc "); 

如何使用GQL/JDO而不是在內存中執行此操作?有什麼建議麼?因爲「now」變量等於當前時間,所以我不能執行cron作業或任務隊列,因爲此後我必須每秒/毫秒運行此cron作業。有關我如何做到這一點的任何建議?我仍然沒有在應用程序中使用直接的AppEngine代碼,所以我仍然可以切換到另一個平臺。任何建議都非常受歡迎。

回答

1

如果您試圖獲得一個或多個日期的帖子,按喜歡排序,也許您可​​以在每天的帖子上有一個字段(毫秒值四捨五入到一天的開始)。那麼也許你可以做一些像(假設喜歡總是> = 0):

"select from Post where likes >= 0 && (createdAtDay = :nowDay || createdAtDay = :yesterday) order by likes desc" 
+0

啊,這是天才!這可能實際上工作!謝謝! – BunkBedNoob 2011-03-31 18:45:56

相關問題