这里会定义很多字段,有索引,自增,必须,缺省值等定义
let mongoose = require('mongoose');
let autoIncrement = require('mongoose-auto-increment-fix'); //用这个fix版本,可以避免在mongodb 3.2以上的版本报错。
let Schema = mongoose.Schema;
let accountSchema = new Schema({
id : {type:Number},
typeid : {type:Number, default: 0, min:0, max:3}, //有缺少值,和最小值最大值
name : {type:String, default:'', trim:true}, //有trim,可以去掉前后空格
password : {type:String, default:'', trim:true},
nickname : {type:String, default:'', trim:true},
sex : {type:Number, default:0, min:0, max:2},
photo : {type:String, default:'', trim:true},
status : {type:Number, default:1, min:0, max:3},
registertime : {type:Date, default:Date.now}, //日期类型的缺省值
lastlogintime : {type:Date, default:Date.now},
lastloginip : {type:String, trim:true},
idcard : {type:String, default:'', index:true}, //这里可以定义对idcard的索引
realnamecount : {type:Number, default:5},
newaccountflag: {type:Boolean, default:true} //boolean类型
});
accountSchema.index({ name:1}, { unique: true });
accountSchema.index({ id:1 }, { unique: true });
//下面用自增插件,实现id的自增功能
accountSchema.plugin(autoIncrement.plugin, {
model: 'pf_account',
field: 'id',
startAt: 10000,
incrementBy: 1
});
module.exports.accountSchema = mongoose.model("pf_account", accountSchema);