Mongoose 丢失模式错误:模式没有';“未注册型号”;角色“;
我正在尝试加入两个集合,并能够获得组合数据,但发现了此错误 ErrorMongoose错误:尚未为模型注册架构。名称:“MissingSchemaError” RoleSchema.js:Mongoose 丢失模式错误:模式没有';“未注册型号”;角色“;,mongoose,Mongoose,我正在尝试加入两个集合,并能够获得组合数据,但发现了此错误 ErrorMongoose错误:尚未为模型注册架构。名称:“MissingSchemaError” RoleSchema.js: const mongoose = require('mongoose'); const Schema = mongoose.Schema; var RoleSchema = new Schema({ role_name: {type: String, required: true}, cre
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
var RoleSchema = new Schema({
role_name: {type: String, required: true},
create_time: Date,
updated: Date
});
RoleSchema
.virtual('url')
.get(function () {
return '/role/' + this._id;
});
module.exports = mongoose.model('Role', RoleSchema, 'Role');
user_role.js:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const ObjectId = Schema.ObjectId;
var UserRoleSchema = new Schema({
user_id: {type: ObjectId, ref: 'User', required: true},
role_id: {type: ObjectId, ref: 'Role'},
create_time: Date,
updated: Date
});
module.exports = mongoose.model('User_Role', UserRoleSchema, 'User_Role');
app.js:
mongoose.connect(mongoDB,options);
mongoose.Promise = global.Promise;
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
userController.js:
UserRole.findOne({user_id: user._id}).populate('role_id').exec(function (error, doc) {
//do something...
});
我试图修复它,但没有成功。我认为类型是错误的。它不是
Schema.ObjectId
,而是Schema.Types.ObjectId
另外,mongoose.model('User\u Role',UserRoleSchema)
应该足够了