2011-03-31 1 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

관련 문제