La mejor manera de hacer enrutamiento dinámico con Express.js (node.js)

Estoy intentando crear un CMS simple con express.js que crea rutas de forma dinámica. Obtiene un JSON de una base de datos que se ve así:

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 itera sobre los objetos creando rutas así:

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

Ahora todo está funcionando bien. Pero el problema es que cada vez que un usuario modifica el contenido y las rutas, se debe reiniciar la aplicación del nodo completo. No encontré ninguna llamada a la API para eliminar rutas.

¿Hay alguna forma de eliminar de forma segura las rutas antiguas establecidas con app.get? ¿Debo incluso hacer eso?

¿Hay una mejor manera de hacer este tipo de enrutamiento? Me gusta este método porque me permite usar la función incorporada, es rápido y admite expresiones regulares.

Intenté eliminar todas las aplicaciones. Rutas con app.routes = nul pero no hizo nada, las rutas antiguas todavía estaban en su lugar.

Una cosa que efectivamente los eliminó fue

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

Pero, ¿esto realmente los elimina y es seguro de usar, así que no termino de secuestrar grandes cantidades de ariete si el enrutador sigue siendo repoblado?

Respuestas a la pregunta(3)

Su respuesta a la pregunta