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