【问题标题】:Django Mongoengine EmbeddedDocument query issueDjango Mongoengine EmbeddedDocument 查询问题
【发布时间】:2012-04-15 08:33:46
【问题描述】:

我的模型是关于顶级电影的列表

class Movie(Document):
    title = StringField()
      ...
    ranks = ListField(EmbeddedDocumentField('Rank'))

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

如何编写查询以仅获取今天有排名记录的电影?

【问题讨论】:

  • 我认为 Darin 的建议是,良好的 Stackoverflow 礼仪表明您之前的一些问题现在可能需要一个公认的答案。如果我错了,请纠正我达林。

标签: django mongodb mongoengine


【解决方案1】:

我建议使用datetime 对象作为日期而不是字符串,因为它看起来更明确。无论哪种方式,您都可以轻松地找到所有具有date 匹配的排名的Movie 文档,如下所示:

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

或

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

【讨论】:

  • 有效!但是我如何在 django 模板中迭代结果以获得今天每部电影的排名?..
  • 嗯 MongoDB 查询返回文档。 if 语句可以遍历匹配的等级。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-29
  • 2014-11-27
  • 1970-01-01
相关资源
最近更新 更多