Bonjour,
Je commence à m'en sortir en JS en général, mais je rencontre un problème avec mongoose et node.
J'ai une bdd mongo en local, qui est allimentée par un formulaire d'ajour d'articles.
Ce formulaire fonctionne et les articles sont bien enregistrés dans la base.
Maintenant, ce que je voudrais, c'est une page qui liste toutes les entrées présentes dans la base, et pour ce faire, j'essaie le code quivant, mais qui ne fonctionne pas :
list : function ( resToSend ) {
console.log("i'm in list function !!")
ArticleSchema.find({})
.sort({article_name : 1 })
.exec( resToSend );
},
Et dans ma vue EJS, rien ne s'affiche qui vienne de la base de données.
Est ma syntaxe de récupération qui n'est pas bonne ?
Voici le contenu de la fn callback que j'envoie.
//List of all articles
router.get('/articles', (req, res) =>{
const resToSend = function(err, documents){
res.render('articles_index', {
articles : documents,
user : req.user,
});
}
console.log("going to list !")
operations.list(resToSend);
});
Merci d'avance
Bon, il y a du mieux :
mon service d'acces à la base :
list : function ( resToSend ) {
console.log("i'm in list function !!")
ArticleSchema.find({})
.sort({article_name : 1 })
.exec(function( err, docs){
//console.log(docs);
resToSend(docs);
});
},
et ma route :
router.get('/articles', (req, res) =>{
const resToSend = function(err, docs){
console.log("Ici la requête : docs "+docs)
res.render('articles_index', {
articles : docs,
user : req.user,
});
}
console.log("going to list !")
operations.list(resToSend);
});
Donc dans mon service d'acces à la base, docs est défini, mais lorsqu'il arrive dans la route, il devient undefined.
Je suis un peu perdu pour le coup