sql >> Database teknologi >  >> NoSQL >> MongoDB

Leverer dynamiske URL'er med express og mongodb

Hvis jeg forstår dig rigtigt, ville jeg gøre det omvendt.

Kort version

  1. Jeg ville få id fra URL'en
  2. Så ville jeg hente de data, der er knyttet til dette id, fra databasen
  3. Og brug disse data til at bygge den sidste side.

Du behøver ikke oprette en ny rute for hver URL. En URL kan indeholde en eller anden variabel (her id). ) og Express kan parse URL'en for at få denne variabel. Derefter fra dette id du kan få de nødvendige data til at bygge den rigtige side.

Lang version

Jeg antager, at nogen indtaster denne URL:http://domain.com/1234 .
Jeg går også ud fra, at du har en variabel titles som er en MongoDB-samling.

Du kan have en rute defineret som denne:

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

Rediger

Jeg lavede nogle ændringer i henhold til de sidste kommentarer...




  1. MongoDB-objekt serialiseret som JSON

  2. Hvad er den bedste måde at lave ajax-paginering på med MongoDb og Nodejs?

  3. MongoDB samlet resultat med to forskellige nøgler

  4. Mongo Distinct Aggegation