-2
は、私は、次の2つのモデル検索nodejsとMongoDBの内のクエリと人口データ
var TeacherSchema = new Schema({
school_id:[{type: Schema.Types.ObjectId, ref: 'School'}],
name: String,
subjects: [{type: Schema.Types.ObjectId, ref: 'Subject'}],
});
var SubjectSchema = new Schema({
title : String,
school_id:[{type: Schema.Types.ObjectId, ref: 'School'}]
});
を持っている私は、教師や科目
を投げる検索APIを書きましたrouter.get("/field-teacher-subject", function (req, res) {
var school_id= req.query.schoolId;
Subject.find(school_id:'school_id,function (err, subjects) {
if (err) {
console.log(err);
res.json({status: "error", message: err.message});
} else {
var sub_array=[];
for(var q in subjects){
sub_array.push(subjects[q]._id);
}
Teacher.find({subjects:{$in :sub_array }},{first_name:true, father_name:true, last_name : true, subjects:true}).populate('subjects')
.exec(function(tech) {
console.log("hello: ");
var subjeto = [];
if(tech){
for(var p in tech){
subjeto.push(tech[p].subjects);
}
}
res.json({status: "success", message: "subjects returned",
items: tech});
}).catch(function(err){
if(err){
res.json({status:"error",
message:"error occurred"+err.message});
return;
}
});
}
}).limit(parseInt(req.query.max));
});
私は名前を検索する場合、これは、 あなたが求めているものを知っているが、あなたのコードは、いくつかのエラーを持っているために、この
検索を
.exec()
を使用しようとしましたか?私はここに名前に一致しようとしているものは何も見ない。どちらの名前?教師の名前?あなたが求めていることをすべて明確にするわけではありません。 –先生の名前または件名 – motchezz