Files
labplus-server/src/models/user.js

25 lines
796 B
JavaScript
Raw Normal View History

2024-01-15 00:03:15 +08:00
import { Schema, model } from 'mongoose'
// 声明一个数据集 对象
const userSchema = new Schema({
username: { type: String, unique: true, required: true },
password: { type: String, required: true },
truename: { type: String, required: true }, // 真实名字
role: { type: Schema.Types.ObjectId, ref: 'Role' },
lastLogin: { type: Date },
2024-10-02 22:24:10 +08:00
status: { type: Schema.Types.ObjectId, ref: 'Status' }
2024-01-15 00:03:15 +08:00
})
// TODO: IT CAN'T WORK ...
2024-10-02 22:24:10 +08:00
userSchema.pre(['deleteOne', 'findByIdAndDelete'], { document: true }, () => {
2024-01-15 00:03:15 +08:00
this.status.deleted = true
this.status.deleteAt = Date.now()
})
userSchema.pre(['findByIdAndUpdate', 'findOneAndUpdate'], (next) => {
this.status.updateAt = Date.now()
2024-10-02 22:24:10 +08:00
console.log("gdfg")
2024-01-15 00:03:15 +08:00
next()
})
export default model('User', userSchema)