sql >> Databasteknik >  >> NoSQL >> MongoDB

Serverar dynamiska webbadresser med express och mongodb

Om jag förstår dig rätt skulle jag göra det tvärtom.

Kort version

  1. Jag skulle få id från webbadressen
  2. Då skulle jag hämta data från databasen som är associerade med detta id
  3. Och använd dessa data för att bygga den sista sidan.

Du behöver inte skapa en ny rutt för varje URL. En URL kan innehålla någon variabel (här id). ) och Express kan analysera URL:en för att få denna variabel. Sedan från detta id du kan få de data som behövs för att skapa rätt sida.

Lång version

Jag antar att någon skriver in denna URL:http://domain.com/1234 .
Jag antar också att du har en variabel titles som är en MongoDB-samling.

Du kan ha en rutt definierad så här:

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

Redigera

Jag gjorde några ändringar enligt de senaste kommentarerna...




  1. MongoDB - upsert som involverar listor

  2. MongoDbs $set-motsvarighet i dess java-drivrutin

  3. Använda COD och CML för att bygga applikationer som förutsäger lagerdata

  4. Kan du inte få resultat från Redis med Crud Repository i Spring Boot?