In my models/user.js file:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = new Schema({
(define schema)
});
...
(save user)
...
(check password)
...
mongoose.model('User', userSchema);
And in my router/index.js, I have:
var mongoose = require('mongoose');
var User = mongoose.model('User');
which throws the error:
MissingSchemaError: Schema hasn't been registered for model "User".
If however, in user.js, I do (in the last line)
module.exports = mongoose.model('User', userSchema);
and in index.js I do var User = require('../models/User');, then everything works.
But it should not, because in config/pass.js I am doing var User = mongoose.model('User'); and it’s working flawlessly.
The require('../models/User'); syntax isn’t working on Ubuntu, but is on my Mac.
What should I do? How do I fix it? I have looked at tons of sample apps, including MEAN but nothing was really helpful.