я получаю сообщение об ошибке, как это, это StackTrace линии, от начала:MissingSchemaError: Схема не была зарегистрирована для модели, mongoose.model вызывается перед схемой
это мой основной файловый сервер узла, где загрузить маршруты
require('./config/routes')(app);
это маршруты файл, потребуется
var todos = require('../app/controllers/todos'); controller
Это контроллер, который дает ошибку в строке 2:
var mongoose = require('mongoose'),
Todo = mongoose.model('Todo'),
_ = require('underscore');
Вот моя модель файл, который не кажется, называется:
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var TodoSchema = new Schema({
created: {
type: Date,
default: Date.now
},
content: {
type: String,
default: '',
trim: true
}
});
TodoSchema.path("content").validate(function(content) {
return content.length;
}, 'Content cannot be blank');
mongoose.model("Todo", TodoSchema);
Так что, если я правильно понимаю, моя проблема заключается в том, что эта линия (внутри контроллера) называется:
Todo = mongoose.model('Todo')
До этой линии, которая находится в моей модели:
mongoose.model("Todo", TodoSchema);
Справа? Однако я взял стек из mean.io и несколько других, и собрал его.
Давайте посмотрим на mean.io код, они делают то же самое:
server.js
require('./config/routes')(app, passport, auth);
затем переходит в routes.js и код:
var articles = require('../app/controllers/articles');
затем переходит в товарный контроллер:
var mongoose = require('mongoose'),
Article = mongoose.model('Article'),
_ = require('underscore');
И это работает правильно, но это точно такой же порядок мой.
В какой-то момент необходимо потребовать файл модели Todo, прежде чем пытаться назначить mongoose.model ('Todo') –