2015-08-02 2 views
0

Как говорится в заголовке, я пытаюсь добавить документы из моего mongodb в массив в контроллере. Следующий код - это то, что мой контроллер выглядит так:Не удалось добавить документы mongodb в массив в контроллере

var express = require('express'); 
var router = express.Router(); 
var moviesModel = require("../models/movies"); 

/* GET /movies/ listing. */ 
router.get('/', function(req, res, next) { 
moviesModel.find({}).where('Price').gt(10000).exec(function(err,movies){ 

    if(err) throw err; 
    console.log(movies); 
    }); 
}); 

module.exports = router; 

Код выше консольных журналов 5 документов. Это документы, которые я пытаюсь добавить в массив. Моя цель - вставить документы в массив, затем перебрать каждый элемент и отобразить его через представление. Я не знаю, если это возможно. Если у вас есть предложения относительно того, как я должен это сделать, пожалуйста, дайте мне знать. Любая помощь будет оценена по достоинству. Благодаря!

ответ

0

Во-первых, вы должны пройти свой movies к просмотру через второй аргумент res.render метода:

var express = require('express'); 
var router = express.Router(); 
var moviesModel = require("../models/movies"); 

/* GET /movies/ listing. */ 
router.get('/', function(req, res, next) { 
    moviesModel.find({}).where('Price').gt(10000).exec(function(err,movies){  
     if(err) throw err; 
     console.log(movies); 

     res.render('layout.ejs', {movies: movies}); 
    }); 
}); 

module.exports = router; 

и второй этап цикла через movies в представлении и вывода в формате, который вы желаете подобно следующее:

layout.ejs

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <title>My movies</title>  
    </head> 
    <body> 
    <ul> 
     <% for(var i=0; i<movies.length; i++) {%> 
      <li><%= movies[i] %></li> 
     <% } %> 
    </ul> 
    </body> 
</html> 
+0

Привет Спасибо, что работали! Один следующий вопрос, который у меня есть, если бы я хотел манипулировать этим массивом, я бы сделал все манипуляции в файле ejs? Или что я добавляю к нему сценарий? – Froy

+0

В соответствии с представлением лучшей практики только для отображения ваших данных в соответствующем формате. Таким образом, было бы лучше манипулировать вашими данными за пределами представления. –

Смежные вопросы