express handlebars # каждый рендеринг mongodb find () возвращает [объект] [объект] - PullRequest
1 голос
/ 29 марта 2020

У меня проблема с тем, что мой шаблон не отображает ничего, отправленное обратно из моей базы данных 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

это мой первый раз, когда я использую руль, но у меня все выглядит нормально, я не уверен, чего не хватает?

...