【发布时间】:2016-09-04 03:49:00
【问题描述】:
我在 Django 中使用 Mongoengine。
我的模型中有一个嵌入字段。这是嵌入文档的列表字段。
import mongoengine
class OrderStatusLog(mongoengine.EmbeddedDocument):
status_code = mongoengine.StringField()
class Order(mongoengine.DynamicDocument):
incr_id = mongoengine.SequenceField()
status = mongoengine.ListField(mongoengine.EmbeddedDocumentField(OrderStatusLog))
现在我想根据status 字段中的最后一个值过滤Order 集合的结果。
例如Order.objects.filter(status__last__status_code="scode")
我想__last 不存在这样的事情。我尝试了文档http://docs.mongoengine.org/guide/querying.html#querying-lists中提到的方法
但没用。
我可以通过遍历集合中的所有文档来解决这个问题,但是效率不高,我们如何高效地编写这个查询。
【问题讨论】:
-
我认为你应该标记你的问题 python 以便 1/ 它被列为 python 问题 2/ 它得到自动语法突出显示。 (或者,您可以在代码块之前指定
<!-- language: lang-python -->:stackoverflow.com/editing-help#syntax-highlighting)
标签: python mongodb pymongo mongoengine