MissingSchemaError:尚未为模型"用户"

时间:2015-05-11 00:40:31

标签: node.js mongoose mean-stack

我从一个thinkster.io教程学习MEAN堆栈,似乎在它结束时出现了一些问题。尽管代码看起来像这样,但节点似乎找不到我的架构:

Users.js(./models中的模型)

var mongoose = require('mongoose');
// some more code
var UserSchema = new mongoose.Schema({
    username: {type: String, lowercase: true, unique: true},
    hash: String,
    salt: String
});
// then there are some UserSchema.methods.* here
mongoose.model('User', UserSchema);

app.js

// some definitions
var mongoose = require('mongoose');
var passport = require('passport');
mongoose.connect('mongodb://localhost:27000/awsBase');

require('./models/Posts');
require('./models/Comments');
require('./models/Users');
require('./config/passport');

var routes = require('./routes/index.js');

var app = express();
// and so on

我错过了什么?我将非常感谢任何帮助或见解。

致以最诚挚的问候,

·彼得

2 个答案:

答案 0 :(得分:0)

我认为问题不在于您声明模型的位置,而是在调用模型时。您的控制器中是否有一个类似于您可以共享的片段?

var mongoose = require('mongoose'),
User = mongoose.model('User');
...

User.find()

答案 1 :(得分:0)

我知道这有点晚了,但是在尝试跑步时遇到了类似的错误:npm start'。我通过thinkster.io教程开始研究MEAN。在我的例子中,在Users.js中更改此行就可以解决问题:

mongoose.model('User', UserSchema);

更改为:

mongoose.model('Users', UserSchema);

希望这有助于某人。