Comment boucle sur la matrice de MongoDB avec Express et Monk pour créer une page pour chaque élément?

StackOverflow https://stackoverflow.com//questions/25084422

  •  02-01-2020
  •  | 
  •  

Question

Je construis une application Web avec Express, Nodejs et Monk.J'essaie de créer une page pour chaque élément d'un tableau dans ma base de données MongoDB.

Cette donnée est déjà dans la collection appelée collections avec la clé coll_list comme:

{ "_id" : ObjectId("53dbaefd3d85d57492506f1f"), "coll_list" : [     "data_pagename1", 
     "data_pagename2", "data_pagename3" ] }

Je pensais qu'il serait peut-être possible de boucler sur tous les éléments de coll_list avec quelque chose comme:

 router.get('/index', function(req, res) {
     var db = req.db;
     var collection = db.get('collections');
     collection.find( "coll_list" , function(e,docs) {
       for (elems in docs) {
         res.render(elems, {
           elems : docs
         });
       }
     });
 });

Toute suggestion ou aide / pointeurs sur la manière de faire cela serait grandement apprécié.

Était-ce utile?

La solution

Utilisez req.params

router.get('/coll/:id',
  function(req,res){
     //access the id by req.params.id
     //req.params.id will essentially be the _id of the document
     //use it to obtain data from mongoDB and render the page using that data
     //From the front end you make the call to /coll/<ObjectId> like
     // /coll/53dbaefd3d85d57492506f1f and you get that id in req.params.id and use it to
     //render data specific to that _id. 

  });

Ainsi, à l'aide d'un seul itinéraire, vous seriez en mesure de créer une page pour chaque élément de coll_list

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top