에 채우는 것은 여기에 내가 같은 쿼리에서 activity.begin_date , registration.id , registration.email
원하는 두 개의 컬렉션 '스키마
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,
...
})
있습니다. 어떻게해야합니까? 인터넷에서 몇 가지 솔루션을 찾았지만 채우기 또는 집계를 사용하는지 여부는 아직 알지 못합니다. $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);
}
})
당신은 문제가 무엇을 얻고있다.? 샘플 데이터를 추가 할 수 있습니까? 결과 데이터. 귀하의 코드를보고 나는 어떤 문제를 찾을 수 있습니다. $ lookup이 작동해야합니다 – enRaiser
컴파일러가이 코드를 지나쳐서 "$ lookup이 정의되어 있지 않습니다" –
저는 그런 바보였습니다 ... $ lookup을 위해서는 MongoDB 3.2가 필요합니다. 내 것은 2.6 –