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:En effet, le questions.length du for du fichier .ejs est indéfini.cannot read property 'length' of undefined.
Besoin d'aide s'il vous plait.
les fichiers associés sont les suivants:
app.js
index.ejs
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(); });
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>
Partager