const mongoose = require("mongoose"); const userSchema = new mongoose.Schema( { username: { type: String, required: true, unique: true, }, password: { type: String, required: true, }, userId: { type: Number, unique: true, required: true, }, points: { type: Number, default: 0, }, }, { timestamps: true, } ); // 生成6位数的用户ID async function generateUniqueUserId() { while (true) { const userId = Math.floor(100000 + Math.random() * 900000); // 生成6位数 const existingUser = await mongoose.models.User.findOne({ userId }); if (!existingUser) { return userId; } } } userSchema.pre("save", async function (next) { if (!this.userId) { this.userId = await generateUniqueUserId(); } next(); }); export default mongoose.models.User || mongoose.model("User", userSchema);