如何使用Express和Monk循环MongoDB数组,为每个元素创建一个页面?
题
我正在用Express,nodejs和Monk构建一个Web应用程序。我正在尝试为My MongoDB数据库中的数组的每个元素创建一个页面。
数据已经在集合中称为 collections ,密钥 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
中的每个项目创建页面 不隶属于 StackOverflow