我想创建一个数据库,用于存储用户数据的临时时间段(即),直到用户注销。
一旦用户注销,我希望他们提供的所有详细信息都被删除。
我的问题是,我们可以使用mongoDB临时存储。直到用户注销!
或者有其他解决方案吗?
我的答案是肯定的,您可以使用mongoDB进行临时存储。您甚至可以为文档设置TTL,以便它在一定时间后过期。
这里是文档的链接:https://docs.mongodb.com/manual/tutorial/expire-data/
另一个解决方案是将这类信息存储在数据库中,像Redis一样只存在于内存中。这样你甚至可以获得一些性能。
您可以使用任何数据库来完成此操作。请在用户注销时删除数据。
Redis可能很适合,因为它将数据存储在RAM中,参见:
- http://redis.io/
但是实际上任何数据库都可以做到。您只需要在注销时删除数据。
既然你用"mean-stack"标记了你的问题,那么我假设你正在使用Express。有一些模块可以帮助你做你想做的事情。参见express-session文档中的兼容会话存储。
列表中一些更相关的模块:
- connect-mongo (for Mongo, as you asked)
- connect-mongodb-session(另一个用于Mongo)
- connect-redis(用于Redis,它非常适合该用例)
- connect-sqlite3(对于SQLite,一个不需要安装的嵌入式RDBMS)
- session-file-store(用于将会话数据存储在文件中)
- 或者您可以使用默认的内存会话存储进行测试(不适合生产)