Я пытаюсь объединить две коллекции и смог получить объединенные данные и обнаружил эту ошибку ErrorMongoose error: схема не была зарегистрирована для модели. имя: "MissingSchemaError".
RoleSchema.js:
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...
});
Я пытался это исправить, но не сработало.