我想为每个创建的用户显示一个排名(数字)。
前端视图https://i.stack.imgur.com/24ngV.png
后端代码为第一个用户创建数字1,为第二个用户创建数字2。它应该继续3,4,5,...但在数字2之后,它没有执行。
我使用java脚本作为后端,MongoDB作为数据库,Mongoose作为用户模式。
let ranks = 1
higherRanks = ranks++
const user = new User({
rank: ranks,
firstName: req.body.firstName,
lastName: req.body.lastName,
});
// rank validation
const rankExist = await User.findOne({rank: ranks}); // search for existing rank
// increase the rank (number) function
if (rankExist){
return new User({
rank: higherRanks
})
}
await user.save();
res.json({
successMessage:"user created",
user: {
_id: user._id,
rank: user.rank,
firstName: user.firstName,
lastName: user.lastName,
},
});
问题是,为什么不继续数字3,4,5,...?[1]:https://i.stack.imgur.com/24ngV.png
1条答案
按热度按时间bnlyeluc1#
您的代码没有移动到3、4、5的原因是您已经声明了
let ranks = 1
和higherRanks = ranks++
,这意味着最初rank是1,递增后将是2。所以,每当你要添加一个新用户,它将字直到2.
要解决此问题,您应该先添加用户,然后再递增。请尝试以下方法: