inflearn logo
강의

講義

知識共有

[リニューアル] Node.js教科書 - 基本からプロジェクト実習まで

강사님 질문이있습니다.

371

작성자 없음

投稿した質問数 0

0

const test  = {

    "_declaration": {

        "_attributes": {

            "version": "1.0",

            "encoding": "UTF-8",

            "standalone": "yes"

        }

    },

    "response": {

        "header": {

            "resultCode": {

                "_text": "00"

            },

            "resultMsg": {

                "_text": "NORMAL SERVICE."

            }

        },

        "body": {

            "items": {

                "item": [

                    {

                        "as1": {

                            "_text": "경상남도"

                        },

                        "as2": {

                            "_text": "창원마산회원구"

                        },

                        "as3": {

                            "_text": "내서읍"

                        },

                        "as4": {

                            "_text": "삼계리"

                        },

                        "bjdCode": {

                            "_text": "4812725028"

                        },

                        "kaptCode": {

                            "_text": "A63085232"

                        },

                        "kaptName": {

                            "_text": "마산삼계2"

                        }

                    },

                 

            },

            "numOfRows": {

                "_text": "10"

            },

            "pageNo": {

                "_text": "1"

            },

            "totalCount": {

                "_text": "18496"

            }

        }

    }

}

노드기반으로 공공api를 xml 구조이길래  xml2json 모듈을 이용해서 json 구조로 바꾼다음에

sequelize 모델에 create 해주려고하는데

 JSON 구조의 값을 test['response']['body']['items']['item'] 요런구조로 못받나요?

자꾸 console찍어보면 undefined 가나오네요

Sequelize mongodb nodejs mysql

回答 4

0

jaeyoung Lee

강사님 들은 수업 기반으로 프론트 + 백엔드 합쳐서 토이프로젝트 진행중에 막히는점을 질문

드려도괜찮을까요? 

다름이아니구 제가 카카오에서 사용하는 좌표 x, y 를 사용하기위해서 

mysql db에 저장된 400 ,500 건정도 row를 조회후 x, y만 가져와서 테이블에 업데이트 해주려고 

하는데 이 요청을보내면  429 Too Many Requests 오류가뜨고 

for문도 첫번째는 돌아서 업데이트가 되긴하는데 이점은 해결방법이 있나요? 

 

 

 for(var i in noLocationList){
 

            const option = {
                url: `https://dapi.kakao.com/v2/local/search/address.json?query=${encodeURI(noLocationList[i]['address'])}`,
                methods: 'GET',
                headers : {
                    Authorization : 'KakaoAK 064940e08c54717d89d8728298c08b71'
                },
                // query : noLocationList[0]['address']
            }


            request(option, async (error,response) =>{
                console.log("호출")
                console.log("에러내용",error);
                console.log(response);
                if(error) new Error('400');
                // console.log("===========몇번쨰리퀘스트???",i);
                var result = JSON.parse(response.body);
               
                //  result.documents[0].x   // result.documents[0].y
                // var jsonVal = xmlToJson(response.body);
                // console.log(jsonVal);
               
                await ApartmentPrice.update({
                    xlocation :  result.documents[0].x ,
                    ylocation : result.documents[0].y
                },
                {where : {id: noLocationList[i]['id']}})
             })  
      }

0

zerocho

남의 api를 쓰는 이상 사용량 제한이 있다면 특정 시간 간격을 두고 요청을 보내는 수밖에 없습니다.

0

jaeyoung Lee

if(testVal[i]['as1']===undefined) {testVal[i]['as1']={_text:''} }
 
 
객체 가 비었을시 value가 빈값을 세팅해주어서 해당문제 해결했습니다.

0

zerocho

required가 false면 필수값이 아니라서 에러가 발생하지 않을텐데요? 어떤 에러가 발생하시나요?

시퀄라이즈문에 관해서는 create를 여러 개 하는 거라면 

https://stackoverflow.com/questions/29461908/how-to-do-bulk-insert-using-sequelize-and-node-js

bulkCreate를 사용하시고요.

그게 아니라 순서대로 가는거라면 굳이 묶을 필요가 없습니다. 반드시 동시에 되어야하는 것만 promise.all하시면 됩니다.

0

jaeyoung Lee

해당문제는 JSON.parse(test)로 해결했습니다.

 

강사님 질문이있는데요 

 

 for(i in testVal){


        // console.log(testVal[i]['kaptName']['_text'])
        // console.log(testVal[i]['as1']['_text']);
        // console.log(testVal[i]['as2']['_text']);
        // console.log(testVal[i]['as3']['_text']);
        // console.log(testVal[i].as4._text);
        Apartment.create({
            kaptName: testVal[i]['kaptName']['_text'],
            as1 : testVal[i]['as1']['_text'],
            // as2 : testVal[i]['as2']['_text'],
            as3 : testVal[i]['as3']['_text'],
        //     as4 : testVal[i]['as4']['_text'] || '',
           
      });
 
현재 testVal[i].as4가 required가 false라서 빈값이 올수도있는데
이런게 오류가 안되게하려면 어떻게 처리해줘야하나요?
 
그리고 여러가지 문 시퀄라이즈는 promise.allsettled 혹은 promise.all써줘야할까요?
 
 
 

리눅스 노드 설치시 패키지

0

159

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

905

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2281

2

a[title] 질문드립니다

0

375

1

리뉴얼 강의 및 공부 방법

0

581

1

jwt decode

0

1128

1

node.js 교과서 3판 질문드립니다

0

391

1

passport와 jwt

0

432

1

리뉴얼 강의

0

418

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

353

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

481

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

505

2

nunjucks res.render('error'); 작동을 안합니다.

0

511

1

질문있습니다.

0

346

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3535

1

수업자료는 어디있나요?

0

366

1

질문 있습니디

0

235

1

multer 사용시 file 외 name값은 못받나용?

0

416

1

코드 중복 부분 질문드립니다.

0

298

1

api 만드는 이유 질문드립니다.

0

286

1

Strategy의 done에 대해 질문드립니다.

0

364

1

안녕하세요 fs 권한 관련 질문드립니다

0

448

1

시퀄라이즈 연결질문...

0

495

2

res.setHeader vs res.cookie

0

1786

3