2016-07-17 4 views
1

웹 사이트에 표시 할 데이터베이스에서 임의의 개체를 가져 오려고합니다. 아래 열거 된 Jade 부분을 주석 처리하면 아무 것도 나지 않습니다. 내가 주석을 제거 할 때 내가 얻을 :Qong을 가진 mongoDB 집계 결과

TypeError: C:\Users\Malachi\Sandbox\CEC\myapp\views\layout.jade:63

61|   .office-devide 
    62|   h2 Patient Reviews 
>> 63|    each user in userreviews 
    64|    ul 
    65|     li= user.reviewfirstname 
    66|     li= user.reviewlastname 

Cannot read property 'length' of undefined

내가 잘못 뭐하는 거지 모르겠어요. 나는 여기 몇 가지 다른 유사한 문제를 둘러 보았고 내가 뭘 잘못하고 있는지 알 수 없다. 어떤 도움을 주시면 감사하겠습니다. 추가 정보가 필요하면 알려주십시오. 감사!

익스프레스 코드

router.get('/', function(req, res, next) { 
    var db = req.db; 
    var collection = db.get('userreviews'); 
    collection.aggregate([ {sample: { size: 3} } ] ,function(e,docs){ 
    res.render('index', { 
    title: 'Reviews', 
    "userreviews" : docs 
    }); 
    }); 
}); 

옥 코드는

h2 Patient Reviews 
    each user in userreviews 
    ul 
     li= user.reviewfirstname 
     li= user.reviewlastname 
     li= user.reviewsite 
     li= user.reviewdate 
     li= user.reviewtext 

답변

1

당신이를 사용할 필요가 또한 이렇게

collection.aggregate([ {$sample: { size: 3} }]).toArray(function(e,docs) { 
    res.render('index', { 
     title: 'Reviews', 
     userreviews : docs 
    }); 
}); 

처럼 toArray으로 시도, 즉 '$'를 무대 운영자에게 추가하십시오.

+0

작동하지 않았습니다. 옥은 여전히 ​​"정의되지 않은 속성 '길이'를 읽을 수 없습니다." – mddanielewicz

+0

또한 옥 블록을 주석 처리 할 때 "collection.aggregate (...). toArray는 함수가 아닙니다." – mddanielewicz

+0

파이프 라인에 오류가 있습니다 - 내 업데이트 참조 – DAXaholic