Tôi không quen thuộc với MongoEngine, nhưng toán tử $ chiếu có thể lọc một mảng để chỉ hiển thị phần tử phù hợp. Trong trình bao Mongo:
> db.foo.insert({"items": [{"id": 1}, {"id": 2}, {"id": 3}]})
> db.foo.find({'items.id': 1}, {'items.$': true})
{ "_id" : ObjectId("51ce29b68b178484ff2a01ed"), "items" : [ { "id" : 1 } ] }
Thông tin thêm: http://docs.mongodb.org/manual/reference/projection / positional /
Có vẻ như trong MongoEngine, bạn làm được điều đó:
Foo.objects(__raw__={'items.id': 1}).only('items.$')
Thêm: http://mongoengine-odm.readthedocs .org / vi / last / guide / querying.html # raw-queries