【发布时间】:2013-02-13 13:49:50
【问题描述】:
以下是使用 mongoose 创建新集合时出现的错误。
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);
有什么线索吗?
【问题讨论】:
-
在控制器中使用模型之前,请检查您的需求顺序以确保您需要模型?
-
错误信息引用模型
"testDocAccessModel",您确定您查看的代码正确吗? -
测试您的代码:工作正常,我认为@JamesOR 是对的...检查您的要求顺序