填充這裏有兩個集合模式
var activitySchema = new Schema({
activity_id: {type: String, index: {unique: true}, required: true},
begin_date : String,
...
})
var registrationSchema = new Schema({
activity_id: {type: String, index: {unique: true}, required: true},
registration_id: {type:String, trim: true, index: true ,required: true },
email : String,
...
})
我想在同一個查詢activity.begin_date , registration.id , registration.email
。我能怎麼做?我在網上找到了一些解決方案,但仍然不知道是使用填充還是聚合$lookup
(這個看起來很新)。
下面是我的嘗試,但根本不工作。
models.Registration.aggregate([
{
$lookup: {
from: "Activity",
localField: "activity_id",
foreignField: "activity_id",
as: "activity_docs"
}
},
{"$unwind" : "activity_docs"},
], function(err , result){
if(result){
fullDoc = result;
}else{
next(err);
}
})
什麼問題你得到?你還可以添加示例數據。和結果數據。通過查看你的代碼,我可以找到任何問題。 $查找應該工作 – enRaiser
編譯器剛剛通過這些代碼,我得到了「$ lookup沒有定義」 –
我是一個這樣的白癡...... $ lookup需要MongoDB 3.2。我的是2.6 –