2016-06-29 2 views
1

sails.js에서 waterline을 사용하고 관련 "Car"모델의 ID가 지정된 목록에있는 "User"모델의 모든 레코드를 찾으려고합니다.채워진 모델의 조건이 흘수선에서 작동하지 않는 경우

var list = [3, 4, 5]; 
User.find().populate('car', { 
    where: { 
     id: list 
    } 
    }).exec(function(err, foundUsers){ 
    console.log(foundUsers); 
    }); 

문제는 목록 값에 관계없이 쿼리가 실행되고 모든 레코드가 반환된다는 것입니다. 이 기준은 어떻게 적용되어야합니까?

//User: 
module.exports = { 
    connection: 'mysqlConnection', 
    attributes: { 
    id: { 
     type: 'integer', 
     primaryKey: true, 
     autoIncrement: true 
    }, 
    car: { 
     model: 'Car' 
    } 
    } 
} 
//Car: 
module.exports = { 
    connection: 'mysqlConnection', 
    attributes: { 
    id: { 
     type: 'integer', 
     primaryKey: true, 
     autoIncrement: true 
    }, 
    title: { 
     type: 'string' 
    } 
    } 
} 

답변

0

워터 라인이처럼 행동 이유를 이해 적이 ...

를하지만 여기에 만들 수있는 간단한 방법입니다 :

var list = [3, 4, 5]; 
User 
    .find({ car: list }) 
    .populate('car') 
    .exec(function(err, foundUsers){ 
    console.log(foundUsers); 
    }); 
다음과 같이

모델 정의

편집 : (2017/01/31 기준) 추가 채우기가 더 이상 필요하지 않은 것으로 보입니다. 그래도 변경된 버전을 확인하지 않았 음

+0

문서에서 설명하는 것만 큼 이상하지 않습니다. 하지만 효과가 있습니다. 고마워요. – Behnam

관련 문제