사실 자바스크립트 스킬이기는 하나 NestJS에서 필터링을 어떻게 해서
GraphQL 내에서 원하는 정보를 얻는지 확인하는 과정. 여기서 예시는 시도 / 구군 / 구를 필터링해보기로.
조건 : 시/도를 프론트엔드에서 고정해준다고 가정했을 때, 구군, 동만 뽑아오기
지역출력에 따른 셀렉트 박스를 만들기 위해서
파이썬과 달리 자바스크립트는 set가 없다. 그러므로 다른 방법을 이용하여 중복된 값을 없애고 새로운 배열을 만든다.
const tempObj = {};
const nextSafeRate = [];
safeRate.forEach(({gunGu}) => {
if (!tempObj[gunGu]) {
tempObj[gunGu] = true;
}
});
Object.keys(tempObj).forEach(key => {
nextSafeRate.push({"gunGu": key});
})
조건 : 특정 조건을 걸고 -> 서울특별시 -> ~~구 -> ~~동 이런 식으로 순서대로 넣었을 때 화면에 넣은 값에 따라 조건이 나오게 하는 지역 데이터 만들어보기.
if(port && siDo && gunGu && dong){
const safeRate = await this.saferate.find({port, siDo, gunGu, dong});
return {
ok: true,
safeRate
}
}
if(port && siDo && gunGu){
const safeRate = await this.saferate.find({port, siDo, gunGu});
return {
ok: true,
safeRate
}
}
if(port && siDo){
const safeRate = await this.saferate.find({port, siDo});
return {
ok: true,
safeRate
}
}
if(port){
const safeRate = await this.saferate.find({port});
return {
ok: true,
safeRate
}
}