Вывести данные из базы данных (используя mongodb) в файл hbs / html Node.Js - PullRequest
0 голосов
/ 24 мая 2018

Я начал изучать node.js, и сейчас я пытаюсь создать «Todo-App».

Я пытаюсь найти лучший способ передачи данных из моей базы данных (используя mongodb)в мои hbs-файлы, чтобы я мог их отобразить.

От server.js -> server до hbs -> client (поправьте меня, если я ошибаюсь, если предположим, что server.js - этосервер конечно и файл hbs это клиент)

Итак, мне удалось это сделать, передав массив.но когда я пытаюсь отобразить в html desing, он просто выглядит плохо.

Код:

app.get('/allTasks',(req,res)=>{ //get (go to) the allTasks (hbs file)
   Todo.find().then((todos) => {
     console.log(todos);
     var arrayOfTodos = [];
     todos.forEach(function(element){
       console.log("\n\n\n\n\n elemnt details: ",element.text + "\n",element.completed+"\n");
       arrayOfTodos.push(element.text,element.completed);
      });
      res.render("allTasks.hbs", {
        pageTitle: "Your tasks: ",
        todos: arrayOfTodos
        });
    });

});

Результат:

Вы можетесм. рисунок

Как видите, он просто выглядит плохо ... потому что он просто отображает массив, и я хочу отображать каждую задачу отдельно.Какие-нибудь советы?

Большое спасибо, Сагив

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Проблема решена.Я просто должен был научиться обрабатывать данные в hbs.поэтому код: (в hbs)

    {{#each todos}}
{{missionNumber}} <br>
{{text}}<br>
completed = {{completed}}<br><br>
   {{/each}}

, как вы можете видеть, каждый из них представляет собой цикл, который передает параметр todos (мой массив), и мне просто нужно отобразить данные таким образом,Я хочу, чтобы он отображался.

спасибо за вашу помощь.

0 голосов
/ 25 мая 2018

Вместо использования push просто сделайте:

Todo.find().toArray(function(err, result){
   arrayOfTodos = result;
})

Когда у вас есть массив, дизайн не имеет ничего общего с mongodb.Вам нужно будет научиться использовать технологию рендеринга.Вам нужно дотронуться до своего html-шаблона, поэтому начните с публикации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...