架构尚未注册模型。 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:架构尚未注册模型“BlogPost”。
使用mongoose.model(名称,模式)

你用错误的方式打电话给mongoose.model 。 您应该传递一个模式对象对象,但是您传递'BlogPost'string。 试试下面的代码:

 var BlogPost= new Schema({ author: ObjectId, title: String, body: String, date: Date }); var myModel = mongoose.model('BlogPost', BlogPost); // BlogPost is an object here 

之后,mongoose会在mongodb://localhost/test数据库中创buildblogposts集合(lowercased和pluralized)。 如果要更改与模型对应的集合名称,请将其作为parameter passing:

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