Melhor maneira de fazer roteamento dinâmico com o Express.js (node.js)

Estou tentando criar um CMS simples com express.js que cria dinamicamente rotas. Obtém um JSON de um banco de dados que se parece com isso:

pagesfromdb = {
    home = {
        paths = ['/','/home','/koti'],
        render = 'home.ejs',
        fi_FI = {html='<h1>Hei maailma!</h1>'},
        en_US = {html='<h1>Hello World!</h1>'}
    },
    about = {
        paths = ['/about','/tietoja'],
        render = 'general.ejs',
        fi_FI = {html='Tietoja'},
        en_US = {html='About Us'}
    }
}

e percorre os objetos criando rotas assim:

Object.keys(pagesfromdb).forEach(function(key) {
    var page = pagesfromdb[key];
    app.get(page.global.paths,function(req, res){
         res.render(page.render, page[language]);
    });
});

Agora tudo está funcionando bem. Mas o problema é que toda vez que um usuário modifica o conteúdo e os caminhos, todo o aplicativo do nó precisa ser reiniciado. Não encontrei nenhuma chamada de API para remover rotas.

Existe alguma maneira de remover com segurança as rotas antigas definidas com app.get? Eu deveria fazer isso?

Existe uma maneira melhor de fazer esse tipo de roteamento? Eu gosto deste método, pois me permite usar a função interna, é rápido e suporta regex.

Eu tentei remover o app.routes inteiro com app.routes = nul mas não fez nada, as rotas antigas ainda estavam no lugar.

Uma coisa que de fato os removeu foi

delete app._router.map.get;
app._router.map.get = [];

Mas isso realmente os remove e é seguro usá-los, para que eu não acabe seqüestrando grandes quantidades de memória RAM se o roteador continuar sendo repovoado?

questionAnswers(3)

yourAnswerToTheQuestion