查询ReferenceFields与MongoEngine

查询ReferenceFields与MongoEngine

问题描述:

我与MongoEngine玩弄,我只是找不到查询ReferenceFields查询ReferenceFields与MongoEngine

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:?

有没有办法做到这一点?

由于提前,

如果您使用引用您不能引用的对象字段查询。由于引用在驱动程序内部完成,并且大多数驱动程序会保存被引用的文档ID,集合名称和数据库名称(因此您只能查询引用的文档ID)。

想查询吗?使用嵌入或进行两个单独的查询。

+0

我想做2个单独的查询。这就是为什么我有第一个查询抓取被引用的对象,而第二个查询包含这些被引用的对象的文档 –

+0

但我无法找到一种方法来做第二个查询。 –

+0

@PhilippeClémen:你可以在这里发布你的文档结构吗? –

这是不可能的一个查询。

试试这个:

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