sql >> Base de Datos >  >> NoSQL >> MongoDB

Sirviendo URL dinámicas con express y mongodb

Si te entiendo bien, lo haría al revés.

Versión corta

  1. Obtendría el id de la URL
  2. Entonces sacaría de la base de datos los datos asociados con este id
  3. Y use estos datos para crear la página final.

No necesita crear una nueva ruta para cada URL. Una URL puede contener alguna variable (aquí el id ) y Express puede analizar la URL para obtener esta variable. Luego, desde este id puede obtener los datos necesarios para crear la página adecuada.

Versión larga

Suponiendo que alguien escriba esta URL:http://domain.com/1234 .
También asumo que tiene una variable titles que es una colección de MongoDB.

Puedes tener una ruta definida así:

app.get('/:id', function(req, res) {
  // Then you can use the value of the id with req.params.id
  // So you use it to get the data from your database:
  return titles.findOne({ id: req.params.id }, function (err, post) {
    if (err) { throw(err); }

    return res.render('titles', {title: post.title, url: post.URL /*, other data you need... */});
  });
});

Editar

Hice algunos cambios según los últimos comentarios...