2017-09-23 26 views
0

PSQL DB에서 데이터를 반입하기 위해 sequelize ORM을 사용하고 있습니다. 그러나, 내가 뭔가를 검색 할 때, 데이터의 전체 무리가 주어집니다. 내가 원하는 유일한 데이터는 'dataValues'내부입니다. 물론 object.dataValues를 사용할 수 있습니다. 그러나 다른 좋은 해결책이 있습니까? 난 단지 일부 속성을 선택하려면Sequelize ORM에서 dataValues ​​만 가져 오기

답변

0

문제는 발생 할 수 있습니다 대부분의 경우, 당신은 배열을 전달 내가 로그 할 때 :

console.log (Model.findAll()); 내가 변수에 저장하면

, 내가 직접 내

0

Sequelize 4.10를 사용하고

, 당신은 속성 옵션을 사용할 수 있습니다.

Model.findAll({ 
    attributes: ['foo', 'bar'] 
}); 

출처 : Here

+0

아니요, 테이블의 모든 열이 필요합니다. 하지만 그걸 액세스하려면 object.dataValues를 사용해야합니다. –

0

예는

Model.findAll({ 
raw: true, 
//Other parameters 
}); 

데이터 만이 아니라 모델의 인스턴스를 반환

+0

모든 쿼리에 전역 적으로 적용 할 수 있습니까? –

+0

연결을 생성하는 동안이를 정의 할 수 있습니다. 과 같은 것'const sequelize = new Sequelize ('connectionUri', { define : { raw : true } })'. 문서 [여기] (http://docs.sequelizejs.com/manual/installation/getting-started.html#application-wide-model-options) – Shivam

1

Sequelize 메타 데이터를 포함하는 가상 객체의 모든 그것의 반환 값을 랩 "이 dataValues"를 사용하지 않고 개체에 액세스 할 수 있습니다. 객체를 가지고 방금 장식되지 않은 데이터 값을 원한다면, 당신은 지금처럼 랩을 해제 할 수 있습니다 또한

Model.findById(1).then(data => { 
    console.log(data.get({ plain: true })); 
}); 

를 그냥 당신이 .toJSON 방법을 사용할 수있는 개체를 인쇄 할 경우.

Model.findById(1).then(data => { 
    console.log(data.toJSON); 
});