Bonjour a tous,
je travaille sur un petit projet avec nodejs et mongodb. Lorsque j'essaye de récupérer le contenu de ma base de données pour l'afficher dans un fichier ejs, j'obtiens cette erreur que je ne parviens a corriger:
cannot read property 'length' of undefined.
En effet, le questions.length du for du fichier .ejs est indéfini.
Besoin d'aide s'il vous plait.

les fichiers associés sont les suivants:
app.js
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
let url = "mongodb://user:password@ds131312.mlab.com:31312/quiz";
let MongoClient = require("mongodb").MongoClient;
let express = require('express');
let app = express();
let dir = "C://Program Files//nodejs//node//projet";
 
MongoClient.connect(url, (error, db) => {
    if (error) 
        console.error(error);
    app.listen(3000, () => {
     console.log('listening on 3000')
});
 
 
app.get('/', (req, res) => {
db.collection('questions').find().toArray(function(err,results){
        console.log(results);
        res.render('index.ejs', {questions: results}, function( err, html){
            console.log("il ya une erreur");
        });
    });
});
 
db.close();
});
index.ejs
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>MY APP</title>
</head>
<body>
  May Node and Express be with you.
<ul class="questions">
  <% for(var i=0; i<questions.length; i++) {%>
    <li class="question">
      <span><%= questions[i] %></span>
      <span><%= questions[i].question %></span>
      <span><%= questions[i].reponse %></span>
    </li>
  <% } %>
</ul>
</body>
</html>