in my controller whenever i write this ,
const blogModel = mongoose.model('Blog'),
it start to show error schema has not been registered
code of my model / Blog.js
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
let blogSchema = new mongoose.Schema({
blogId: {
type: String,
unique: true
}
});
module.exports = mongoose.model('Blog', blogSchema);
code of my controller/blogs.js here i have created a method getAllblogs to get all blogs
const express = require('express')
const mongoose = require('mongoose')
const blogModel = mongoose.model('Blog')
let getAllBlogs = (req,res) =>{
blogModel.find()
.select('-_v-_id')
.lean()
.exec((err,result) =>{
if(err){
console.log("error")
res.send(err)
}
else if(result == undefined || result == null || result == '')
{
console.log("no blog found")
res.send("no blog find")
}
else{
console.log("blog found")
res.send(result)
}
})
}
module.exports = {
getAllBlogs:getAllBlogs
}
here is the error trace
C:\Users\dell\basicnode>node index.js
C:\Users\dell\basicnode\node_modules\mongoose\lib\index.js:456 throw new mongoose.Error.MissingSchemaError(name); ^ MissingSchemaError: Schema hasn't been registered for model "./../models/Blog.js ". Use mongoose.model(name, schema) at new MissingSchemaError (C:\Users\dell\basicnode\node_modules\mongoose\lib \error\missingSchema.js:22:11) at Mongoose.model (C:\Users\dell\basicnode\node_modules\mongoose\lib\index.j s:456:13) at Object. (C:\Users\dell\basicnode\controllers\blogs.js:3:29) at Module._compile (internal/modules/cjs/loader.js:701:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10) at Module.load (internal/modules/cjs/loader.js:600:32) at tryModuleLoad (internal/modules/cjs/loader.js:539:12) at Function.Module._load (internal/modules/cjs/loader.js:531:3) at Module.require (internal/modules/cjs/loader.js:637:17) at require (internal/modules/cjs/helpers.js:22:18) at Object. (C:\Users\dell\basicnode\routes\blog.js:3:22) at Module._compile (internal/modules/cjs/loader.js:701:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10) at Module.load (internal/modules/cjs/loader.js:600:32) at tryModuleLoad (internal/modules/cjs/loader.js:539:12) at Function.Module._load (internal/modules/cjs/loader.js:531:3)
code of my index.js
const mongoose = require('mongoose')
const express = require('express')
const appConfig = require('./config/appConFig')
const fs = require('fs')
const bodyParser = require('body-parser')
const cookieParser = require('cookie-parser')
const app = express() app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended:false})) app.use(cookieParser())
let routesPath = './routes';
fs.readdirSync(routesPath).forEach(function(file) {
if(-file.indexOf('.js')){
console.log("finmding the path");
console.log(routesPath+'/'+file);
let route = require(routesPath+'/'+file);
route.setRouter(app);
} });
let modelsPath = './models';
fs.readdirSync(modelsPath).forEach(function(file) {
if(-file.indexOf('.js')){
let route = require(modelsPath+'/'+file);
} });
app.get('/', (req,res) => {
res.send('hello world i am here');
let db = mongoose.connect(appConfig.db.uri,{useMongoClient:true});
})
mongoose.connection.on('error' , function(err) {
console.log("database connection error")
console.log(err) });
mongoose.connection.on('open' , function(err) {
if(err)
{
console.log("database connection error")
console.log(err)
}
else{
console.log("connection success")
} }); app.listen(appConfig.port, () => console.log("listening onn "))