2012-04-15 2 views
1

내 모델은 최고 영화장고 Mongoengine EmbeddedDocument 쿼리 문제

의 목록에 관한
class Movie(Document): 
    title = StringField() 
     ... 
    ranks = ListField(EmbeddedDocumentField('Rank')) 

class Rank(EmbeddedDocument):  
    rank = IntField() 
    imdb_rating = FloatField() 
    date = StringField(required=True) 

어떻게 쿼리에만 영화가 오늘 순위 기록을 얻을 수를 쓸 수 있습니다?

+0

내가 대린이 제안 생각하는 것은, 좋은 유래 에티켓은 몇 가지 제안 : 어느 쪽이든 당신은 쉽게과 같이 오늘 date 일치를 가지고 순위를 가진 모든 Movie 문서를 찾을 수 있습니다 이전 질문에 지금까지 대답이 필요합니다. 내가 잘못하면 대런. – rossdavidh

답변

1

보다 명확한 것처럼 문자열 대신 날짜 대신 datetime 개체를 사용하는 것이 좋습니다.

Movie.objects(ranks__date__gte=datetime.today().date()) # using DateTimeField 

또는

Movie.objects(ranks__date="16/04/2012") # using StringField 
+0

그것은 작동합니다! 하지만 장고 템플릿의 결과를 반복하여 오늘날 모든 영화의 순위를 얻으려면 어떻게해야합니까? ... –

+0

음 MongoDB 쿼리는 문서를 반환합니다. if 문은 일치하는 순위를 반복 할 수 있습니다. – Ross

+0

검색 할 때 다른 사람들을 도울 답변으로 표시하지 마십시오. – Ross