2016-04-03 11 views
0

Ben mouoose sürüm 4.4.10 kullanıyorum şemamın ayrıntıları burada. Aşağıdaki find olarak Fongoose'da 2 koleksiyonu birbirine bağlamak için doğru bir şekilde nasıl kullanılır?

var RespSchema = new mongoose.Schema({ 
    surveyResponseId : {type: mongoose.Schema.Types.ObjectId, 
        ref: 'SurveySResponsechema', 
        required: true, 
        index : true}, 
    customerSurveyId : {type: mongoose.Schema.Types.ObjectId, 
        ref: 'CustomerSurveySchema', 
        required: true, 
        index : true}, 
    version  : Number, 
    question  : Number, 
    responseType : String, // single or multiple-choice not implemented 
    response  : [String], 
    responseNum : [Number], 
    created_dt : { type: Date, default: Date.now } 

var SurveyResponseSchema = new mongoose.Schema({ 
customerSurveyId : {type: mongoose.Schema.Types.ObjectId, 
        ref: 'CustomerSurveySchema', 
        required: true, 
        index : true}, 
deviceId : String, // whch Android Tableet is runing this 
version  : Number, 
taken  : Boolean, 
created_dt : { type: Date, default: Date.now } 
}); 

mongoose.model('SurveyResponse', SurveyResponseSchema); 
mongoose.model('Resp', RespSchema); 


var Resp = mongoose.model('Resp'); 
var SurveyResponse = mongoose.model('SurveyResponse'); 

Resp.find({created_dt: {"$gt": new Date("2016-03-31T09:20:00Z")}}) 
    .sort('customerSurveyId') 
    .populate('SurveyResponse') 
    .exec(function(err, results) { 

    if (err) return err; 
    console.log('results is:', JSON.stringify(results)); 
}); 

Ben sonuçlarının parçası olarak SurveyResponse toplanması sonuçlarını erişmek mümkün değilim Sadece Resp koleksiyonun sonuç almak.

cevap

1

yerine .populate('SurveyResponse')

ait .populate('surveyResponseId') denemek ve, SurveySResponsechema yazım hatası lütfen?
belki de SurveyResponse olmalıdır.

+0

Doldurulması gereken koleksiyonun veya koleksiyonun birleştirildiği anahtarın adı mı olmalıdır? Bu da işe yaramadı. Modeli içermedim, şemadan farklı. mongoose.model ('SurveyResponse', SurveyResponseSchema); –

İlgili konular