У меня проблема с тем, что мой шаблон не отображает ничего, отправленное обратно из моей базы данных 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>
my Функция экспортируется из файла, предназначенного для обработки операций crud
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. Возможно, мне не хватает ключа для индексации? или я неправильно обращаюсь с моим мон go звонком? Я могу console.log вернуть данные.
все мои документы в моей коллекции продуктов имеют следующую структуру:
атрибут файла - это файл изображения.
name:"dd"
file:Binary('/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYICwgIyYn...', 0)
value:"dd"
desc:"dd
это мой первый раз, когда я использую руль, но у меня все выглядит нормально, я не уверен, чего не хватает?