2017-04-06 1 views
0

저는 mongodb 드라이버 인 Monk를 사용하고 있으며, collection.findOne()의 값을 반환하여 mypost을 응답 매개 변수로 렌더링하려고합니다. 일collection.findOne()의 값을 반환 할 수 없습니다.

//show single post 
router.get('/show/:id', function(req, res, next){ 
    var mycategories = [] 
    var mypost = {}; 
    var posts = db.get('posts'); 
    var categories = db.get('categories'); 
    posts.findOne({_id: req.params.id}, function(err, post){ 

     }); 
    console.log(mypost); 

    categories.find({}, {}, function(err, categories) { 
     for (i=0; i<categories.length; i++) { 
       mycategories[i] = categories[i]; 
      } 
    }); 
    res.render('show', { 
      'pageTitle': mypost.title, 
      'categories': mycategories, 
      'post': mypost 

     }); 

답변

0
//show single post 
router.get('/show/:id', function(req, res, next){ 
    var mycategories = [] 
    var mypost = {}; 
    var posts = db.get('posts'); 
    var categories = db.get('categories'); 
    posts.findOne({_id: req.params.id}, function(err, post){ 


    //success param is post not my post 
    console.log(mypost, post); 

    categories.find({}, {}, function(err, categories) { 
    for (i=0; i<categories.length; i++) { 
     mycategories[i] = categories[i]; 
    } 

    //you cant get access to outside callback 

    res.render('show', { 
     'pageTitle': post.title, 
     'categories': mycategories, 
     'post': post 

    }); 

    }); 


}); 


}); 
+0

감사 :

이 내 코드입니다! ;) – melhirech

+0

작동하는 경우 plz 응답 수락 –

관련 문제