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"
}
}
])
假设我有两个模型 类 像这样:
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"
}
}
])