我有以下架构,其中项目类型可能有所不同,并在中提到connections.kind。
connections.kind
var userSchema = new Schema({ name: String, connections: [{ kind: String, item: { type: ObjectId, refPath: 'connections.kind' } }] }); var organizationSchema = new Schema({ name: String });
我正在尝试进行动态查找,以便填充item对象。但这似乎不起作用。
db.users.aggregate([ { $lookup:{ from: '$connections.kind', localField: 'connections.item', foreignField: '_id', as: 'items' } } ])
我知道我可以使用mongoose.populate,但想知道是否可以使用$ lookup
mongoose.populate
到目前为止,您还不能。该from字段不能是表达式,而必须是字符串文字。但是,您可以在这里跟踪一个未解决的问题,该问题似乎恰恰是您所需要的:https : //jira.mongodb.org/browse/SERVER-22497。
from