¿Cómo bucle sobre la matriz de MongoDB con Express y Monk para crear una página para cada elemento?

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

  •  02-01-2020
  •  | 
  •  

Pregunta

Estoy construyendo una aplicación web con Express, Nodejs y Monk.Estoy tratando de crear una página para cada elemento de una matriz en mi base de datos MongoDB.

que los datos ya están en la colección llamada colecciones con la clave col_list como SO:

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

Pensé que podría ser posible hacer unirlos en todos los elementos en col_list con algo como:

 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
         });
       }
     });
 });

Cualquier sugerencia o ayuda / punteros sobre cómo hacerlo sería muy apreciado.

¿Fue útil?

Solución

Use 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. 

  });

Por lo tanto, utilizando una sola ruta, podría crear una página para cada elemento en coll_list

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top