我正在玩MongoEngine,我找不到查询ReferenceFields的方式
Class Foo(Document)
bar = ReferenceField(Bar)
...
Class Bar(Document)
value =IntField()
...
bars = Bar.objects.filter(value__lt=1000)
Django的:
foos = Foo.objects.filter(bar__in=bars)
MongoEngine:?
有没有办法实现这个目标?
提前致谢,
答案 0 :(得分:9)
一个查询是不可能的。
试试这个:
bars = Bar.objects.filter(value__lt = 1000)
foo = Foo.objects.filter(bar__in = bars)
更多见。那个测试脚本。
https://github.com/Ankhbayar/mongoengine/blob/dev/tests/django_tests.py#L73
答案 1 :(得分:0)
如果使用引用,则无法查询引用的对象字段。因为在驱动程序内部完成引用,大多数驱动程序保存引用的文档ID,集合名称和数据库名称(因此您只能查询引用的文档ID)。
想要查询?使用嵌入或进行两个单独的查询。