MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Обслужване на динамични URL адреси с express и mongodb

Ако ви разбирам правилно, бих направил това по обратния начин.

Кратка версия

  1. Ще получа id от URL адреса
  2. След това бих изтеглил от базата данни данните, свързани с този id
  3. И използвайте тези данни, за да създадете крайната страница.

Не е необходимо да създавате нов маршрут за всеки URL адрес. URL може да съдържа някаква променлива (тук id ) и Express могат да анализират URL адреса, за да получат тази променлива. След това от този id можете да получите данните, необходими за изграждане на правилната страница.

Дълга версия

Предполагам, че някой въвежда този URL адрес:http://domain.com/1234 .
Предполагам също, че имате променлива titles което е MongoDB колекция.

Можете да имате дефиниран маршрут по следния начин:

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... */});
  });
});

Редактиране

Направих някои промени според последните коментари...




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. неоторизиран тип заключване на db:-1

  2. Как се различава NoSQL, ориентиран към колони, от ориентиран към документи?

  3. Каква е разликата между операторите .in() и all.() в mongoose?

  4. Съхраняване на йерархия на директории в хранилище на данни ключ-стойност

  5. Не може да се прочете свойството 'castForQuery' на undefined в castArrayFilters в Node.js