🐞 fix(登录): 创建角色账号并发时可能会报数据库错误
This commit is contained in:
@@ -133,8 +133,9 @@ export default class User extends BaseModel {
|
||||
update = Object.assign(update, doc.toJSON(), { platform, pkgName, serverType, createTime: curTime, uid, userCode, username: `用户${uid}`, isGuest, token, lastLoginTime: curTime, guestTime, ip, deviceId });
|
||||
if (isGuest) update["guestId"] = _tel;
|
||||
delete update["device"];
|
||||
delete update["_id"];
|
||||
|
||||
const user: UserType = await UserModel.findOneAndUpdate({ tel }, { $set: update, $addToSet: { device: deviceId } }, { upsert: true, new: true }).lean({ getters: true });
|
||||
const user: UserType = await UserModel.findOneAndUpdate({ tel }, { $setOnInsert: update, $addToSet: { device: deviceId } }, { upsert: true, new: true }).lean({ getters: true });
|
||||
return user;
|
||||
}
|
||||
|
||||
@@ -147,8 +148,9 @@ export default class User extends BaseModel {
|
||||
let update = {};
|
||||
update = Object.assign(update, doc.toJSON(), { platform, pkgName, serverType, createTime: curTime, uid, userCode, username: `用户${uid}`, token, lastLoginTime: curTime, ip, channelInfo, channelType, deviceId });
|
||||
delete update["device"];
|
||||
delete update["_id"];
|
||||
|
||||
const user: UserType = await UserModel.findOneAndUpdate({ channelId }, { $set: update, $addToSet: { device: deviceId } }, { upsert: true, new: true }).lean({ getters: true });
|
||||
const user: UserType = await UserModel.findOneAndUpdate({ channelId }, { $setOnInsert: update, $addToSet: { device: deviceId } }, { upsert: true, new: true }).lean({ getters: true });
|
||||
return user;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user