Ich arbeite derzeit an einem einfachen Projekt mit dem MEAN-Stack. Ich versuche eine Verbindung zu Mongo DB herzustellen. Alles scheint in Ordnung zu sein, bis ich versuche, Daten in meine index.ejs
Datei zu legen. Hier ist mein Code:500 Fehler mit MEAN Stack
Modell:
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 in Routen Ordner:
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 Datei (Bitte beachten Sie, dass dies nur die obere Hälfte ist, der einzige Teil dass ich ein wenig verändert):
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');
Hier ist meine index.ejs Seite:
Alles ist gut verbunden und funktioniert, bis ich auf die index.ejs Seite gehe. Dann bekomme ich einen Fehler nicht aber auf meiner Konsole Ich zeige:
GET/500 23,966 ms - 35
Wenn ich wegnehmen alle folgenden Zeilen:
<% persons.foreach(function(person) { %>
<p><%= person.firstname %></p>
<p><%= person.lastname %></p>
<% }) %>
dann mein Index .ejs Seite wird geladen.
Meine Ordnerstruktur etwa wie folgt aussieht:
app_server
models
person.js
routes
index.js
views
error.ejs
index.ejs
app.js
Schließlich weiß ich, dass der db auf der Mongo arbeitet neben Ich habe einen Eintrag in dort und sie sehen kann. Bitte lassen Sie mich wissen, wenn mehr Informationen benötigt werden. Danke für die Hilfe.
indes.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 });
}
})
});
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>
<% }) %>
Was ist die Fehlerrückverfolgung? es muss einen geben ... – aschmid00
Ich bekomme keinen Fehler außer GET/500 5.070 ms - 35 in meiner Konsole, das ist die nervige Sache. Ich habe diese kleine Information, an der ich arbeiten kann! –
Ich würde versuchen, die App auf den einfachsten Fall zu verkleinern. Loggen Sie sich dort ein und sehen Sie, wie weit es geht und dann werden Sie herausfinden, welcher Teil des Codes fehlschlägt. – aschmid00