我从一个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
我错过了什么?我将非常感谢任何帮助或见解。
致以最诚挚的问候,
·彼得
答案 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);
希望这有助于某人。