mongoose에서 $ in을 (를) 사용하여 레코드를 찾으려고합니다. 그러나 그것은 나를 위해 일하지 않습니다. 나는 몽고에서 동일한 쿼리가 작동 쉘이 있지만 몽구스 년에는
app.services._chkAdminSchool = function(payload){
var deferred = q.defer();
School
//.find({ teacher:{$in:['574f20f39f44e7531786c812']}})
.find({_id : "574f1f979f44e7531786c80f",admin:{"$in":[Object("57508a2a3a0a919c16ace3c0")]}})
//.select(filers)
.exec(function(error, record) {
if (error) {
deferred.reject({
status:404,
message: 'Error in API',
error: error
});
} else {
if(record.length === 0){
deferred.reject({
message: 'Admin and school doesnot match',
data: record
});
}else{
deferred.resolve({
message: 'Successfully get Admin',
data: record
});
}
}
});
return deferred.promise;
}
기록은 반환 빈 배열입니다 내 스키마
{
"_id": "574f1f979f44e7531786c80f",
"name": "mySchool2",
"branch": "karachi",
"location": "Clifton ",
"block": false,
"created_at": 1464803223441,
"updated_at": 1464803223441,
"__v": 0,
"classes": [
"574f216afd487958cd69772a"
],
"admin": [
"574f20509f44e7531786c811",
"57508a2a3a0a919c16ace3c0"
],
"teacher": [
"574f20f39f44e7531786c812",
"575002b48188a3f821c2a66e",
"57500bbaea09bc400d047bf6"
],
"student": [
"574f2d56590529c01a2a473b",
"574f2e5842c5885b1b1729ab",
"574f2ed542c5885b1b1729ae",
"574f2f57555210991bf66e07",
"574f2fcd087809b11bd8d5e4",
"574f301d1f5025d61b7392b6",
"574f30481d02afff1bb00c71",
"574f30b01d02afff1bb00c74",
"574f310038136b3d1cf31b96"
]
}
내 mongose 쿼리 를 workinh되지 않습니다. 도움
'var에 SchoolSchema = 새로운 스키마 ({ 이름 : {유형 : 문자열, 필수 : 사실 독특한 : TRUE}, 지점 : {형태 : String}, 위치 : {형태 : String}, 블록 : {type : Boolean}, webURL : {type : String}, created_at : {type : Number}, updated_at : {type : Number}, 학생 : {type : Array}, 교사 : {type : 배열}, 관리자 : {type : Array}, 클래스 : {type : Array} }); –
이 내 스키마는 관리자를 찾기 위해 ObjectID와 간단한 ID 문자열을 모두 시도했습니다. 하지만 작동하지 않습니다. –