我使用MongoDB数据库和node.js作为后端。我想实现一个投票系统,用户登录我的网站后可以对某些事情进行投票。但我想确保他们每天只能投一票。我该如何实现?
我想到的一个可能的解决方案:-
存储最新的投票时间戳,然后在他尝试再次投票时检查一天是否已经过去。但这并不完美,因为这意味着无论他在一天中的什么时候投票,两次投票之间都应该有24小时的间隔
有人能提出一些比我在node.js和MongoDB中实现的更好的建议吗?
提前谢谢。
Id将Redis与ttl一起使用,在中间件上我会检查用户是否已经投票(存在于Redis中(。但如果你不使用Redis,你也可以在mongoDB上使用TTL,所以我会为此创建一个模式,并检查中间件中的每个请求。