2016-12-22 1 views
0

express().get (또는 이와 동등한 것) 외의 Express 함수 redirect을 사용하고 데이터베이스 연결시 오류가 발생하면 MongoDB의 함수 connect 내에서 사용하려고합니다.MongoDB 콜백 내 옥/Pug 파일로 리디렉션하는 방법은 무엇입니까?

이 리디렉션의 대상은 Jade/Pug 파일이므로 Pug의 기능 render을 사용해야합니다.

내 질문 : 어떻게 이것을 수행하려면 redirect을 사용할 수 있습니까? 사실, 나는 express().get 함수를 사용하지 않기 때문에 res이라는 객체가 없습니다.

다음은 내가 작성한 코드입니다. 그것은 성취되어야하지만 나는 어떻게해야할지 모른다. 이 경로에 있지 않기 때문에

const express = require('express'); 
const app = express(); 
const mongo_client = require('mongodb').MongoClient; 
mongo_client.connect("mongodb://localhost:27016/my_db", (error, database) => { 
     if(error) { // If an error has been raised while connecting to the database 
      app.locals.error = error; 
      app.render('db_error.jade', (error, rendered) => { // We generate the HTML code and pass it to a redirection 
       // But how ??? 
       if(error) { 
        throw error; 
       } 
      }); 
      throw error; 
     } 

답변

0

더 중요한 것은, 당신은 요청이 없습니다. 아무 것도 응답을 렌더링 할 수있을뿐만 아니라 아무도 응답을 요구하지 않습니다. 이것은 모든 사람의 웹 브라우저가 참여하기 전에 모두 일어나고 있습니다.

데이터베이스가 다운되었을 때 페이지를 표시하려면 모든 요청에 ​​middleware을 사용해야 응용 프로그램이 Mongo에 연결되어 있는지 확인하고 필요에 따라 오류 페이지로 리디렉션해야합니다.

관련 문제