2016-04-07 16 views
0

私はクエリの中で_idにアクセスしようとすると問題に直面しています。where句の_id`

マイスキーマ:

var testSchema = new Schema({ 
    test2id: [{ type: Schema.Types.ObjectId, ref: 'Test2' }], 
    test3id: [{ type: Schema.Types.ObjectId, ref: 'Test3' }] 
}); 

var test2Schema = new Schema({ 
    name: String 
}); 

var test3Schema = new Schema({ 
    name: String 
}); 

マイクエリ:

testSchema.statics.findByid = function (id, callback) { 
    var query = this.findOne(); 

    Test2.findOne({'name': name}, function (error, t2) { 
    query.where({ 
     test2id: _id, 
    }).exec(callback); 
    }); 
    return query 
}; 

_idが定義されていない、私はまたしてみてくださいthis._idが、問合せの戻りはnull。 testSchematest2id = _idという文書をすべてtestSchemaから取得したいだけです。

query.where句から_idへのアクセスを修正する方法はありますか?

+0

あなたの 'TestSchema'' Test2'スキーマとこれらの両方のコレクションのドキュメント例を投稿してください。 –

+0

@SiddharthAjmera:投稿を編集してより明確にしました。 – Thomi

答えて

0

私は最終的にパラメータで渡して解決します。

var test = new Test(); 
test.findByid(test._id, req.params.id, function(err, res) { 
    ... 
});