我试图避免每次使用时都创建数据库查询
router.get("/whatever",function()...)
所以我创建了一个dbController
,它通过
返回一个文档数组
db.collection.find().toArray()
工作正常。 我在这里ch咽了
router.get( "/test" , function ( req , res , err ) {
if (err) console.dir( err );
var categoriesArray = require ( "./Controllers/dbController" ).getCategsArray();
console.log( "!!!!!!!!!!!!!!!" + categoriesArray );
res.render( "hello" , {
_: _ ,
title: "la naiba" ,
items: categoriesArray
});
});
因为虽然console.log显示了文档数组
[Function: next]
!!!!!!!!!!!!!!!
[ { _id: ObjectID { _bsontype: 'ObjectID', id: 'QrÑUÿY?ó#M_?' },
categories: [ [Object], [Object] ],
id: 'mens',
name: 'Mens',
page_description:
................................
我没有在EJS模板中找到它
..............................................
<% _.each(items, function(topC) { %>
<li>
<h1><%= topC.name %></h1>
..........................
title property
虽然被渲染了。我非常感谢任何帮助,因为我是一个完整的n00b而且我整夜都在努力取得进步
答案 0 :(得分:1)
要进行交互的名称和列表位于 categoriesArray 中,那么您需要进行interate categoriesArray。有人这样:
<% items.forEach(function (topC) { %>
<li>
<h1><%= topC.name %></h1>
</li>
<% }) %>