2013-11-16 3 views
2

Привет мой код показан ниже:Схема не была зарегистрирована для модели. MongoDB> Mongoose

var mongoose=require('mongoose'); 
mongoose.connect('mongodb://localhost/test'); 

var Schema=mongoose.Schema 
, ObjectId=Schema.ObjectId; 

var BlogPost= new Schema({ 
    author:ObjectId, 
    title:String, 
    body:String, 
    date:Date 
    }); 

var myModel =mongoose.model('BlogPost','BlogPost'); 
console.log(myModel); 

нужны советую. Я всегда получаю это исключение.

500 MissingSchemaError: Schema hasn't been registered for model "BlogPost".<br/>Use mongoose.model(name, schema) 
+0

Удалены мои комментарии. –

ответ

8

Вы неправильно написали mongoose.model. Вы должны передать объект объекта схемы, но вместо этого вы передаете строку 'BlogPost'. Попробуйте следующий код:

var BlogPost= new Schema({ 
    author: ObjectId, 
    title: String, 
    body: String, 
    date: Date 
}); 

var myModel = mongoose.model('BlogPost', BlogPost); // BlogPost is an object here 

После этого мангусты создаст blogposts выдержанные (строчные и множественный) в mongodb://localhost/test базы данных. Если вы хотите изменить имя коллекции, соответствующее вашей модели, передайте ее как параметр thirs:

var myModel = mongoose.model('BlogPost', BlogPost, 'BlogPost'); 
Смежные вопросы