Bon Voyage

Node.js의 MongoDB 쿼리 결과가 [object]로 나올 때 본문

문제 해결

Node.js의 MongoDB 쿼리 결과가 [object]로 나올 때

nangkyeong 2019. 7. 18. 12:55

문제 : 서브 도큐먼트 내용이 [Object]로 나온다.

js파일을 쉘에서 node로 돌렸더니 콘솔창에 출력되는 결과가 아래와 같았다.
쿼리 결과를 console.log();로 찍는 코드였다.

markers: [ [Object], [Object] ]

 

해결 :

검색해보니, [Object]는 로그안에 key, value가 포함된 객체가 리턴되었기 때문에 나오는 것이다.
위 쿼리 결과도 markers 필드 안에 내장된 도큐먼트가 있기 때문에 그냥 [Object]라고 표시된 것임.

1. String화하여 내용을 표시하자.

객체의 내용을 확인만 하려면 아래와 같이 JSON을 이용하여 스트링으로 바꿀 수 있다.

JSON.stringify(objectName);
//log에 이렇게 찍자 
console.log(JSON.stringify(followmaps));

 

2. util 모듈로 모두 다 표시하자.

우선 util 모듈을 받아오자.

var util = require('util');

util 모듈 API : https://nodejs.org/api/util.html

그리고 다음과 같은 코드를 원하는 곳에 작성한다.

console.log(util.inspect(객체이름, {depth: 5}));
//depth는 원하는 만큼 준다.

(util.inspect 상세 내용 : https://nodejs.org/api/util.html#util_util_inspect_object_options )

그렇게 하면 상세 내용까지 예쁘게 볼 수 있다 !

markers:
     [ { title: '미분당',
         lat: 37.541685,
         lng: 126.951306,
         desc: { content: '쌀국수집' } },
       { title: '굴다리김치찌개',
         lat: 37.541793,
         lng: 126.95069,
         desc: { content: '김치찌개집' } } ]

 

 

참고한 URL : https://stackoverflow.com/questions/34264800/node-js-function-return-object-object-instead-of-a-string-value

'문제 해결' 카테고리의 다른 글

MongoError: Can't extract geo keys 에러 해결하기  (0) 2019.07.24
Comments