我遇到一个问题,即我的模板未呈现从mongodb数据库发送回的任何内容。
我有以下路线和模板:
// Removing items page
// --------------------------------------------------
router.post('/removeItems', (req, res) => {
res.render('removeItems', {prods: crudOps.getProducts(res)})
});
<form action="/admin/removeItems" method="POST">
<label for="item">ID</label>
<input type="text" class = "form-control" name = "id" is= "id" >
</form>
<div>
{{prods}}
</div>
<div class="container">
{{#each prods}}
<div class="form-group">
<form action="/admin/removeItems" method="POST">
<p>{{prods.name}}</p>
<img height='70px' width='70px'>{{prods.file}}</img>
<p>{{prods.value}}</p>
<p>{{prods.desc}}</p>
<p>{{prods._id}}</p>
<button class="btn btn-primary btn-sm" type="submit" class = "form-control">Remove</button>
</form>
</div>
{{/each}}
</div>
我的功能是从要处理原始操作的文件中导出的
const getProducts = function(res){
MongoClient.connect('mongodb://localhost:27017', (err, client) => {
if (err) {
throw err;
}
let db = client.db('account-app');
let products = db.collection('products');
let users = db.collection('users');
products.find().toArray(function(err, result) {
if (err) throw err;
console.log(result);
return result
})
client.close()
})
}
我的假设是,我的函数返回的任何内容都可以由传递给res.render的对象中的模板使用。我是否可能缺少一些索引索引键?还是我打错了mongo电话?我能够console.log返回的数据。
我的产品集中的所有文档都具有以下结构:
文件属性是图像文件。
name:"dd"
file:Binary('/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYICwgIyYn...', 0)
value:"dd"
desc:"dd
这是我第一次使用车把,但是一切对我来说看起来不错,我不确定丢失了什么?
我误解了我的车把模板,我需要在正在渲染的每个div上放置{{@index}},然后使用this.name来引用我正在渲染的每个产品的名称