组织和过滤MySQL中的非标准化数据?

时间:2014-04-10 11:01:16

标签: php mysql api

我一直面临着使用内部API构建系统来存储来自各种现有应用程序的用户操作以接收数据的挑战。

每个用户都可以执行以下操作:

  • 下载文件(我将存储的位置,例如文件ID,文件名,类别)
  • 登录(存储,例如登录日期)
  • 回复论坛中的主题(例如主题ID,主题名称,回复ID,回复名称,日期)

我需要能够执行以下某些过滤器:

  • 列出每个用户操作,基于时间轴
  • 列出例如人们如何下载文件ID X
  • 列出自X天前以来未登录的人

最初我正在考虑一个结构,如下所示,它不会让我搜索各种过滤器:

Structure proposal

使用以下作为插入示例:

id: 1
app: forums
event: forums.topic.create
data: {user_id: 1712, topic_id: 3423, topic_title: 'New forums'}
created_at: 2014/02/03 19:30:14
created_by: 6546

数据字段是一个JSON,允许我对我可以拥有的字段没有限制。

使用此方法,如何列出用户创建的所有主题?或者如何进行计数以告诉我字符串“新论坛”中存在多少主题?

您对这个问题的可能结构有什么建议吗?

感谢。

0 个答案:

没有答案