NodeJ不能将数据从MongoDB返回到frontpage

时间:2016-12-18 16:59:32

标签: javascript node.js mongodb express

这是我的home.js路由器:

    var express = require('express');
var bodyParser = require('body-parser');
var router = express.Router();


var Movie = require('../models/movie');
var urlencodedParser = bodyParser.urlencoded({extended: false});


// Get Homepage
router.get('/', function(req, res){
    //get data from mongodb and pass it to view
    Movie.find({}, function(err, data){
        if (err) throw err;
        res.render('home', {movies: data});
        });
    });

function ensureAuthenticated(req, res, next){
    if(req.isAuthenticated()){
        return next();
    } else {
        //req.flash('error_msg','You are not logged in');
        res.redirect('/users/login');
    }

};
module.exports = router;

这是我的模特/电影

    var mongoose = require('mongoose');
var bcrypt = require('bcryptjs');

// Movie Schema
var MovieSchema = mongoose.Schema({
    movieName: {
        type: String,
        index:true
    },
    img: {
        type: String
    },
    description: {
        type: String
    },
});

var Movie = module.exports = mongoose.model('Movie', MovieSchema);

这是我的主页

    <h2 class="page-header">Резервирај Билет</h2>
<div class="movies-block">
  <div class="movie">
    <h3>Movie #1<h3>
    <img src="https://upload.wikimedia.org/wikipedia/en/c/c2/WALL-Eposter.jpg" width="150px" height="200px"></img></br>
    <button type="button" name="rezerviraj">Резервирај</button>
  </div>

  <div class="movie">
    <ul>
      <% for(var i=0; i<movies.length; i++){ %>
      <li><%= movies[i].item %></li>
      <% } %>
    </ul>
</div>

所以,我可以将数据发送到db,但我无法检索它。我想将MongoDB中的数据放到首页。 目标是:我登录管理仪表板,添加电影详细信息(电影名称,图片和说明)。当我提交它时,它会转到MongoDB。从那里,首页请求数据并将其放在我想要的地方。现在,我只是在头版上获取此代码:

<% for(var i=0; i
<%= movies[i].item %>
<% } %>

我在哪里弄错了?

1 个答案:

答案 0 :(得分:1)

这是评论,但我没有足够的代表发表评论。

  

目前,我只是在头版上获取此代码       &lt;%for(var i = 0; i       &lt;%= movies [i] .item%&gt;       &lt;%}%&gt;

您使用的是EJS template engine,是否确定已将view engine快递应用设为[{1}}?看起来没有,因为模板没有呈现for表达式。