2011-07-04 27 views
9

Tôi đang chơi xung quanh với MongoEngine và tôi không thể tìm ra cách truy vấn ReferenceFieldsReferenceFields Truy vấn với 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:?

Có cách nào để đạt được điều này không?

Xin cảm ơn trước,

Trả lời

0

Nếu bạn sử dụng tham chiếu, bạn không thể truy vấn trên trường đối tượng được tham chiếu. Bởi vì tham chiếu được thực hiện nội bộ trong trình điều khiển và hầu hết các trình điều khiển lưu tài liệu tham chiếu id, tên bộ sưu tập và tên db (vì vậy bạn có thể truy vấn chỉ trên tài liệu tham chiếu id).

Bạn muốn truy vấn? Sử dụng nhúng hoặc thực hiện hai truy vấn riêng biệt.

+0

Tôi muốn thực hiện 2 truy vấn riêng biệt. Đó là lý do tại sao tôi có truy vấn đầu tiên lấy các đối tượng tham chiếu và hơn một giây để lọc các tài liệu chứa các đối tượng được tham chiếu –

+0

Nhưng tôi không thể tìm ra cách để thực hiện truy vấn thứ hai. –

+0

@ PhilippeClémen: Bạn có thể đăng cấu trúc tài liệu của mình ở đây không? –