2014-10-18 3 views
1

다음과 같은 객체를 가져 와서 Dust.js 템플릿에 전달할 수 있습니다.몽구스와 async.parallel

{ officers: 
    [ { _id: '543dcbcf846c139cc042c813', name: 'Alpha' }, 
    { _id: '543dcc25846c139cc042c814', name: 'Beta' }, 
    { _id: '543dcd91846c139cc042c815', name: 'Gamma' } ], 
    branches: 
    [ { _id: '543dcbcf846c139cc042c813', name: 'Alpha' }, 
    { _id: '543dcc25846c139cc042c814', name: 'Beta' }, 
    { _id: '543dcd91846c139cc042c815', name: 'Gamma' } ] } 

여기 몽구스를 사용하여 문서를 가져와 결합하는 코드입니다. 난 항상 오류 500, 내 코드에 문제가 있습니까?

var Officers = require('../../models/officers'); 
var Branches = require('../../models/branches'); 

router.get('/create', function (req, res) { 


    async.parallel({ 
    officers: function(cb){ 
     Officers.find({}, '_id name', cb); 
    }, 
    branches: function(cb){ 
     Branches.find({}, '_id name', cb); 
    } 
    }, function(err, results){ 
    res.render('companies/create', results); 
    }); 


}); 
+0

어떻게 든 콜백에서 오류를 처리해야합니다. 그렇지 않으면 mongo가 오류를 발생시키고 페이지가 설명없이 비워 질 때 문제가 발생합니다. –

답변

0

위의 코드에는 아무런 문제가 없습니다. 내가 코드을 넣는 것을 잊어 버렸다.

+0

게시 해 주셔서 감사합니다. 비동기 병렬 쿼리를 통해 내 머리를 얻을 수있었습니다. –

+0

=> Branches.find ({}, '_id 이름')을 사용하여 채울 수도 있습니다 .. populate ('officers'). exec (cb); –

관련 문제