Как вести цитку на массиве MongoDB с Express и Monk, чтобы создать страницу для каждого элемента?

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

  •  02-01-2020
  •  | 
  •  

Вопрос

Я создаю веб-приложение с Express, Nodejs и монахом.Я пытаюсь создать страницу для каждого элемента массива в моей базе данных MongoDB.

Эта информация уже в коллекции называется COLLCTORES с ключом COLL_LIST , как так:

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

Я подумал, что может быть возможен цикл по всем элементам в Coll_List с чем-то вроде:

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

Любые предложения или помощи / указатели на том, как это сделать, было бы очень оценено.

Это было полезно?

Решение

Использование 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. 

  });
.

Таким образом, используя единый маршрут, вы сможете создать страницу для каждого элемента в coll_list

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top