PSQL DB에서 데이터를 반입하기 위해 sequelize ORM을 사용하고 있습니다. 그러나, 내가 뭔가를 검색 할 때, 데이터의 전체 무리가 주어집니다. 내가 원하는 유일한 데이터는 'dataValues'내부입니다. 물론 object.dataValues를 사용할 수 있습니다. 그러나 다른 좋은 해결책이 있습니까? 난 단지 일부 속성을 선택하려면Sequelize ORM에서 dataValues 만 가져 오기
답변
문제는 발생 할 수 있습니다 대부분의 경우, 당신은 배열을 전달 내가 로그 할 때 :
console.log (Model.findAll()); 내가 변수에 저장하면
, 내가 직접 내
Sequelize 4.10를 사용하고
는, 당신은 속성 옵션을 사용할 수 있습니다.
이Model.findAll({
attributes: ['foo', 'bar']
});
출처 : Here이
예는
이Model.findAll({
raw: true,
//Other parameters
});
데이터 만이 아니라 모델의 인스턴스를 반환
모든 쿼리에 전역 적으로 적용 할 수 있습니까? –
연결을 생성하는 동안이를 정의 할 수 있습니다. 과 같은 것'const sequelize = new Sequelize ('connectionUri', { define : { raw : true } })'. 문서 [여기] (http://docs.sequelizejs.com/manual/installation/getting-started.html#application-wide-model-options) – Shivam
Sequelize 메타 데이터를 포함하는 가상 객체의 모든 그것의 반환 값을 랩 "이 dataValues"를 사용하지 않고 개체에 액세스 할 수 있습니다. 객체를 가지고 방금 장식되지 않은 데이터 값을 원한다면, 당신은 지금처럼 랩을 해제 할 수 있습니다 또한
Model.findById(1).then(data => {
console.log(data.get({ plain: true }));
});
를 그냥 당신이 .toJSON
방법을 사용할 수있는 개체를 인쇄 할 경우.
Model.findById(1).then(data => {
console.log(data.toJSON);
});
아니요, 테이블의 모든 열이 필요합니다. 하지만 그걸 액세스하려면 object.dataValues를 사용해야합니다. –