2015-08-11 4 views
0

Я использую ejs для отображения информации, но у меня возникают проблемы с отображением только одного документа. Я хотел бы отобразить один документ, пока пользователь не нажмет на следующую кнопку.Отображение одного документа из базы данных монго?

Вид:

<div> 
    <h1>This is the movie page</h1> 

    <ul> 

     <% for(var i =0; i < movies.length; i ++) {%> 
     <li> 
      <span style="font-weight: bold">Title:</span> <%= movies[i].DVD_Title %> 
     </li> 
     <li> 
      <span style="font-weight: bold">Studio:</span> <%= movies[i].Studio %> 
     </li> 
     <li> 
      <span style="font-weight: bold">Genre:</span> <%= movies[i].Genre %> 
     </li> 
     <li> 
      <span style="font-weight: bold">Year:</span> <%= movies[i].Year %> 
     </li> 

     <br> 
     <% } %> 
     <button type="button" id="prev">Prev </button> 
     <button type="button" id="next">Next</button> 

    </ul> 
</div> 

Контроллер:

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; 
    res.render('movies', {movies:movies}); 
    }); 

}); 

module.exports = router; 

Ссылка на мой репозиторий найден here.

Спасибо!

ответ

0

Поскольку данные запроса mongodb возвращаются в представление как объекты json, я не могу его увеличивать. Я должен подтолкнуть его к собственному массиву и увеличить его.

Вот мой новый взгляд:

<div> 
    <h1>This is the movie page</h1> 

    <ul> 

     <% var movieArray = new Array(); 
     for(var i =0; i < movies.length; i ++) { 
       movieArray.push(movies[i]); 
     } 

     var x = 0; 
     %> 
     <li> 
      <span style="font-weight: bold">Title:</span> <%= movieArray[x].DVD_Title %> 
     </li> 
     <li> 
      <span style="font-weight: bold">Studio:</span> <%= movieArray[x].Studio %> 
     </li> 
     <li> 
      <span style="font-weight: bold">Genre:</span> <%= movieArray[x].Genre %> 
     </li> 
     <li> 
      <span style="font-weight: bold">Year:</span> <%= movieArray[x].Year %> 
     </li> 

     <br> 

     <h1><%= movieArray.length %></h1> 

     <button type="button" id="prev" onClick="prev_movie">Prev </button> 
     <button type="button" id="next" onClick="next_movie">Next</button> 

    </ul> 
</div> 

После Prev или Next выталкивается й значение будет уменьшаться или увеличиваться, если пользователь не достигает -1 или array.length.

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