2016-01-23 81 views
0

假设我有两个模型类,像这样:MongoDB聚合(通过MongoEngine/PyMongo):我可以访问ReferenceField对象吗?

class Institution(Model): 
    name = StringField() 

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

是否有可能访问Student.institution.name在聚合管道?

+0

你能告诉你的查询?如果你问的是如何从'Student'对象获得'name',那么是的!你可以做's.institution.name' – styvane

回答

1

从monogdb 3.2版这是可能的,但$lookup有一些限制(例如,不能在分片收集工作),例如:

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