2014-12-11 5 views
0

내 mongodb에 저장된 모든 문서를 표시하려고합니다. 나는 MongoDB를에 저장된 실제 문서를 표시하는 데 예상 단순히 (collection.find 수()와 res.send을 통해 표시 다음 코드)Express.js collection.find() return Object

router.get('/index', function(req,res){ 
var db = req.db 
var collection = db.get('usercollection') 

var display = util.inspect(collection.find())); 
res.send(display); 
}); 

을 시도했다. 대신에 다음과 같은 객체 형식을 표시했습니다 :

{cold:{manager:{driver:[Object], helper:[Object], collection:[Object]..... 

원시 mongodb 문서를 표시하는 데 필요한 다른 단계가 있습니까?

+0

내가 생각 평균 스택 형제 – Rafael

답변

1

사용중인 라이브러리가 official 10gen library 인 경우 collection.find()을 출력하지 않고 간단히 출력 할 수 없습니다. 당신은 코드의 자세한 내용을 게시, 당신이 사용하는 라이브러리를 귀하의 질문에 태그를 추가하면 작은 데이터 세트에 대해이 작업을 수행하는 가장 쉬운 방법은

collection.find().toArray(function(err, results) { 
    if (err) { 
     // do something error-y 
    } else { 
     res.send(results); 
    } 
}); 

, 당신은 표적으로 도움을받을 수 있습니다. 당신이 promise을 반환을 사용하는 라이브러리 경우에, 이것은 당신이 그것을 긴장을 풀어 줄 방법 ​​아마 :

collection.find().then(function(results){ 
    res.send(results); 
}).catch(function(err){ 
    console.error(err); 
}); 
+0

이잖아, 당신이 요청 당 한 번만'res.send'를 사용할 수 있습니다. – thefourtheye

+0

감사! 이것은 내가 StackOverflow를 살펴본 후 정확히 시도한 것입니다. "Object # 에 'toArray'메서드가 없습니다. toArray가 기본 메서드가 아닌 것 같습니까? – Taewan

+0

'Promise' 반환 객체를 처리하는 방법에 대한 최선의 추측을 포함하도록 답변을 업데이트했습니다. –