【发布时间】:2014-09-07 16:13:28
【问题描述】:
我在 mysql 数据库中有一个联系人表,在 mongodb 中有一个事件/操作日志数据库。操作日志中的项目属于联系人。
联系人表
id | name | email
1 | Joe | joe@email.com
事件集合
{_id:..., contact_id: 1, type:"purchase", data:{}}
{_id:..., contact_id: 1, type:"signup", data:{}}
{_id:..., contact_id: 1, type:"click", data:{}}
查询 1 - “购买”的联系人
这很容易,因为我只需要运行一个 mongo .find({type:"purchase"}),遍历联系人 ID 并查询 mysql 数据库。
查询 2 - 未购买的联系人
这是我卡住的地方,我想到的唯一选择是做.find({type:"purchase"}),获取联系人 ID 并将它们放在 NOT IN() 中,但从长远来看它不会起作用,什么会是可扩展的方法来运行这样的查询吗?
查询 3 - 注册联系人的电子邮件以“joe”开头
同样的问题,首先我需要运行 mysql 部分并获取电子邮件以“joe”开头的联系人,然后在 mongo 中使用这些 id,或者在数据较少的情况下反转(联系人 id)
mongo 中的一切
我不确定将联系人表移动到 mongo 集合是否会变得容易,因为在 mongo 中这种关系仍然需要多次查询运行。
感谢您的意见。
【问题讨论】:
标签: php mysql mongodb database