/** * 用户数据结构 * * @author CaiAoLin * @date 2017/6/28 * @version */ let mongoose = require("mongoose"); let Schema = mongoose.Schema; // 表名 let collectionName = 'user'; const invalidSchema = new Schema({ invalid: Boolean, invalidDate: String, invalidBy: String //管理者名 }); const versionSchema = new Schema({ compilationId: String, activateCode: String, activatedDate: String, activatedBy: String, invalidInfo: [invalidSchema] }); let upgrade = mongoose.Schema({ compilationID:String,//编办ID upgrade_time:Number, isUpgrade:Boolean, remark:String//描述:广东办刘飞 2018-06-17 启用/关闭 }, { _id: false }) // 表结构 let schema = { ssoId: Number, username: String, email: String, mobile: String, real_name: { type: String, default: '' }, company: { type: String, default: '' }, province: { type: Number, default: -1 }, version: { type: [versionSchema], default: [] }, company_type: { type: Number, default: -1, }, company_scale: { type: Number, default: -1 }, // 最后登录时间 latest_login: { type: Number, default: 0 }, //最近使用编办 latest_used:String, create_time: Number, upgrade_list:[upgrade], user_type:{ type:String, default:'normal'// normal : 普通用户,test:测试用户 } }; mongoose.model(collectionName, new Schema(schema, {versionKey: false}));