我目前正在與一個簡單的項目與MEAN堆棧。我正在嘗試連接到Mongo DB。在我嘗試將數據放到我的index.ejs
文件中之前,所有內容似乎都能正常工作。這裏是我的代碼:500與MEAN堆棧錯誤
型號:
var mongoose = require('mongoose');
//mongoose Schema
var personSchema = new mongoose.Schema({
firstname: {type: String, required: true},
lastname: {type: String, required: true},
homeworld: String
});
//compiling into model
module.exports = mongoose.model("Person", personSchema);
Index.js在路線的文件夾:
var express = require('express');
var router = express.Router();
var Person = require("../models/person");
router.get('/', function(req, res, next) {
Person.find({}, function(err, persons) {
if(err){
console.log("ERROR!");
} else {
res.render('index', { persons: persons });
}
})
});
app.js文件(請注意,這只是上半部分,只有部分我改變一點點):
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
require('./app_server/models/db');
var routes = require('./app_server/routes/index');
var users = require('./app_server/routes/users');
var Person = require("./app_server/models/person");
var mongoose = require('mongoose');
var app = express();
//Connecting to mongo DB
mongoose.connect("mongodb://localhost/learn2A");
// view engine setup
app.set('views', path.join(__dirname, 'app_server', 'views'));
app.set('view engine', 'ejs');
這是我index.ejs頁:
<h1>Home Page</h1>
<h4>Database Items Here:</h4>
<!-- Looping through each entry in the database -->
<% persons.forEach(function(person) { %>
<p><%= person.firstname %></p>
<p><%= person.lastname %></p>
<% }) %>
一切都連接好,工作,直到我去index.ejs頁面。然後,我沒有得到一個錯誤,但我的控制檯上我顯示:
GET/500 23.966毫秒 - 35
如果我帶走所有的以下行:
<% persons.foreach(function(person) { %>
<p><%= person.firstname %></p>
<p><%= person.lastname %></p>
<% }) %>
然後我的索引.ejs頁面加載正常。
我的文件夾結構看起來是這樣的:
app_server
models
person.js
routes
index.js
views
error.ejs
index.ejs
app.js
最後,我知道該數據庫正在蒙戈側-I在那裏有一個條目,可以看到它。請讓我知道是否需要更多信息。感謝您的幫助。
什麼是錯誤追溯?必須有一個... – aschmid00
我沒有得到一個錯誤,除了GET/500 5.070毫秒 - 35在我的控制檯這是令人討厭的事情。我有這些小小的信息可以使用! –
我會盡量減少應用程序到最簡單的情況。把日誌放在那裏,看看它有多遠,然後你會發現哪部分代碼失敗了。 – aschmid00