在MERN堆栈中每天限制一票

问题描述

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

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

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

有人能提出比我可以在node.js和MongoDB中实现的更好的东西吗?

谢谢。

解决方法

Id为此使用Redis和ttl,并且在中间件上,我将检查用户是否已经投票(存在于Redis中)。 但是,如果您不使用Redis,也可以在mongoDB上使用TTL,因此,请为此创建一个架构并检查中间件中的每个请求。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...