MongoDB 聚合(通过 MongoEngine/PyMongo):我可以访问 ReferenceField 对象吗?

MongoDB aggregation (via MongoEngine/PyMongo): can I access ReferenceField objects?

假设我有两个模型 类 像这样:

class Institution(Model):
    name = StringField()

class Student(Model):
    full_name = StringField()
    institution = ReferenceField(Institution)

是否可以在聚合管道中访问 Student.institution.name

从 mongodb 版本 3.2 这在 $lookup 中是可能的,但有一些限制(例如,不适用于分片集合),示例:

db.student.aggregate([
    {
      $lookup:
        {
          from: "institution",
          localField: "institution",
          foreignField: "_id",
          as: "institution"
        }
   }
])