2016-07-06 2 views
1

express.js, mongodb, ejs를 사용합니다. 탐색 바에 이메일 아이콘이 있으며 새 이메일 개수가 표시됩니다.express.js에서 DB에 액세스하는 전역 함수를 만드는 방법

<%=newEmailCount%> 

그런 다음이 newEmailCount를 모든 경로에 추가해야합니다.

Emails.count({userId: userId, new: true}) 

제 질문은 express.js입니다. 어떻게 모든 경로에서 실행할 수있는 전역 함수를 추가 할 수 있습니까?

답변

2

당신은 당신이 접근

당신이 항상 모든 다른 경로 위에 배치하여 실행되고 있는지 확인해야
router.get('*', function(req, res, next) { 
    res.locals.newEmailCount = Emails.count({userId: userId, new: true}) 
    next(); 
}) 

를 사용할 수 있습니다 모든 GET 요청의 수를 얻을합니다.

그런 다음 res.locals.newEmailCount을 렌더링 기능에 전달하여 일치하는 경로의 HTML 파일을 렌더링 할 수 있습니다.

이것은 사용중인 애플리케이션 인스턴스 경로 처리에도 적용됩니다.

관련 문제