如果短号碰巧从用户记录中找到匹配项,我正在尝试重新生成,有人可以指导我吗?
let userSchema = new Schema({
agentId: {
type: String,
unique: true,
'default': shortid.generate,
ref: 'user'
}
})
我遇到的事情是一个预功能,可以使用findOne / find方法从记录中进行检查
userSchema.pre('save', function(next) {
let ctx = this.agentId
attempToGenerate(ctx, next)
})
function attempToGenerate(ctx, callback) {
let newagentId = shortid.generate()
User.findOne({
'agentId': newagentId
}),
function(err, result) {
if (!result) {
ctx = newagentId
next();
} else {
attempToGenerate(ctx, callback)
}
}
}