Last active
April 6, 2017 16:16
-
-
Save chrisdel101/a48b30b4b3d68f70b4a1f191f2c6f421 to your computer and use it in GitHub Desktop.
Mongoose Tutorial - Problem- books not defined
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Hitting books route gives back ReferenceError: Book is not defined | |
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'); | |
var mongoose = require('mongoose'); | |
var db = 'mongodb://localhost:27017/example' | |
mongoose.connect(db); | |
var app = express(); | |
// view engine setup | |
app.set('views', path.join(__dirname, 'views')); | |
app.set('view engine', 'ejs'); | |
// uncomment after placing your favicon in /public | |
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); | |
app.use(logger('dev')); | |
app.use(bodyParser.json()); | |
app.use(bodyParser.urlencoded({ extended: false })); | |
app.use(cookieParser()); | |
app.use(express.static(path.join(__dirname, 'public'))); | |
app.get('/',(req,res) =>{ | |
res.send("TEST") | |
}) | |
app.get('/books',(req,res) => { | |
console.log("getting all books") | |
Book.find({}) | |
.exec(function(err, books){ | |
if (err){ | |
res.send("Error " + err) | |
} else { | |
console.log(books) | |
res.json(books) | |
} | |
}) | |
}) | |
// catch 404 and forward to error handler | |
app.use(function(req, res, next) { | |
var err = new Error('Not Found'); | |
err.status = 404; | |
next(err); | |
}); | |
// error handler | |
app.use(function(err, req, res, next) { | |
// set locals, only providing error in development | |
res.locals.message = err.message; | |
res.locals.error = req.app.get('env') === 'development' ? err : {}; | |
// render the error page | |
res.status(err.status || 500); | |
res.render('error'); | |
}); | |
module.exports = app; | |
Book.js | |
var mongoose = require(mongoose), | |
Schema = mongoose.Schema; | |
var BookSchema = new Schema({ | |
title:String, | |
author:String, | |
catrgory:String | |
}) | |
module.exports = mongoose.model('Book', BookSchema) | |
Mongo shell | |
example 26 >db.Books.find().pretty() | |
{ | |
"_id" : ObjectId("58e66337d5ba20d9ee81e23f"), | |
"name" : "Good Book", | |
"author" : "GOD", | |
"category" : "Biblical" | |
} | |
{ | |
"_id" : ObjectId("58e66338d5ba20d9ee81e240"), | |
"name" : "Girly", | |
"author" : "Suzie Q", | |
"category" : "for women" | |
} | |
example 27 >db | |
example | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment