문제 상황
db 테이블에는 timestamp 컬럼에 값이 존재했는데, timestamp 값이 계속해서 null로 내려가는 문제가 있었다.
responseData.data.metadata.attributes.forEach((attribute) => {
if (attribute.value === 'Used') {
const findHistory = benefitTxHistoryList.find((history) => history.traitType === attribute.type);
if (findHistory) {
attribute.timestamp = findHistory.timestamp;
} else {
attribute.timestamp = null;
}
} else {
attribute.timestamp = null;
}
});
해결 방법
responseData.data.metadata.attributes.forEach((attribute) => {
if (attribute.value[0] === 'Used') {
const findHistory = benefitTxHistoryList.find((history) => history.traitType === attribute.type);
if (findHistory) {
attribute.timestamp = findHistory.timestamp;
} else {
attribute.timestamp = null;
}
} else {
attribute.timestamp = null;
}
});
내가 놓치고 있었던 점은, 여기서 value의 값이 List 배열 형태로 내려가는데, 여기서 List를 배열로 인식하지 않고 그냥 .value로 접근했기 때문에 timestamp 값이 null로 내려왔던 것 같다.
{
"type": "(Sun)",
"value": [
"Available"
],
"timestamp": null
},
이런 식이었는데 value가 List 형태로 되어있고,List 형태이기 때문에 여기서 value의 값이 Used일때 timestamp 값을 내려줘야 하므로 value[0] -> value List의 첫번째 인덱스에 접근해서 (Used) timestamp값을 내려줘야 했었다.
'Backend > NestJS' 카테고리의 다른 글
클라이언트에서 영문 쿼리 백엔드단에서 한글로 받는 방법 (1) | 2024.03.26 |
---|---|
2023-11-30과 같이 컬럼 내에서 Date가 나오게 하려면 (0) | 2023.11.30 |
호출한 API의 data 찍어보는법 (0) | 2023.10.31 |
If BenefitTxHistoryRepository is a provider, is it part of the current AdminApiModule? (0) | 2023.10.26 |
param.ts 파일이나 dto에서 다른 파일에서 쓰여진 Enum 끌고오기 (0) | 2023.10.17 |