2012-12-19 43 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;