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