在某种情况下,您有一个用于创建名为User的基本模型的用户方案.然后对于用户角色,使用mongoose discriminators创建名为Admin,Employee和Client的继承模型.有没有办法以编程方式确定可用的用户模型有多少歧视/继承/角色,以及可用的名称?
我在代码方面的问题:
文件:models/user.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var options = {discriminatorKey: 'role'};
var userSchema = mongoose.Schema({
name: String,
email: String,
password: String,
},options);
var User = mongoose.model('User', userSchema);
var Client = User.discriminator("Client", mongoose.Schema({
Address : String,
Tax_identification : String,
Phone_number : String,
Internal_Remarks : String,
CRM_status : String,
Recent_contact : String,
}));
var Employee = User.discriminator("Employee",mongoose.Schema({
Staff_Id: String,
}));
module.exports = {User: User, Client: Client, Employee: Employee };
Run Code Online (Sandbox Code Playgroud)
文件:controllers/usersController.js
var User = require('../models/user.js').User; …Run Code Online (Sandbox Code Playgroud)