2012-12-19 40 views
2

下面是使用猫鼬创建新集合时出现的错误。创建新的集合抛出错误

D:\Workspace\node-2012-20\node\node_modules\mongoose\lib\index.js:191 
     throw new Error('Schema hasn\'t been registered for model "' + name + '" 
      ^
Error: Schema hasn't been registered for model "testDocAccessModel". 
Use mongoose.model(name, schema) 
    at Mongoose.model (D:\Workspace\node-2012-20\node\node_modules\mongoose\lib\index.js:191) 
    at Module._compile (module.js:449:26) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 

下面是代码

var mongoose = require('mongoose'); 
    var Schema = mongoose.Schema; 

    exports.TestDocumentAccessSchema = new Schema({ 
     Id: { type: Schema.ObjectId }, 
     parentId: { type: Schema.ObjectId }, 
     userId: { type : String }, 
     userName: { type : String }, 
    }); 

    var testDocAccessModel = mongoose.model('TestDocumentAccess', exports.TestDocumentAccessSchema); 

任何线索?

+0

也许检查您的要求,以确保在你的控制器使用它之前,你需要的模型? – JamesOR

+0

错误消息引用模型“testDocAccessModel”,您确定您正在查看正确的代码吗? – JohnnyHK

+0

测试您的代码:工作正常,我认为@JamesOR是正确的...检查您的需求订单 – baffonero

回答

0

只要改变你的代码,这样,让我知道是有帮助

var mongoose = require('mongoose'); 
    var Schema = mongoose.Schema; 

    var TestDocumentAccessSchema = new Schema({ 
     Id: { type: Schema.ObjectId }, 
     parentId: { type: Schema.ObjectId }, 
     userId: { type : String }, 
     userName: { type : String }, 
    }); 

    var testDocAccessModel = mongoose.model('TestDocumentAccess',TestDocumentAccessSchema); 
    exports.TestDocumentAccessSchema = TestDocumentAccessSchema;