0
をFrontPageのためにMongoDBのデータを返すことはできません。NodeJsこれは私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 %>
<% } %>
私は間違いを犯していますか?