在MERN堆栈应用程序中,每天限制一票



我使用MongoDB数据库和node.js作为后端。我想实现一个投票系统,用户登录我的网站后可以对某些事情进行投票。但我想确保他们每天只能投一票。我该如何实现?

我想到的一个可能的解决方案:-

存储最新的投票时间戳,然后在他尝试再次投票时检查一天是否已经过去。但这并不完美,因为这意味着无论他在一天中的什么时候投票,两次投票之间都应该有24小时的间隔

有人能提出一些比我在node.js和MongoDB中实现的更好的建议吗?

提前谢谢。

Id将Redis与ttl一起使用,在中间件上我会检查用户是否已经投票(存在于Redis中(。但如果你不使用Redis,你也可以在mongoDB上使用TTL,所以我会为此创建一个模式,并检查中间件中的每个请求。

最新更新