如何在mongo集合和mysql表

时间:2016-06-14 07:36:31

标签: php mysql mongodb

我正在一个网站上工作,我有一个表格,其中包含所有帖子/帖子相关信息,所有“组”帖子相关信息都存储在mongodb中,因为它结构庞大。

一切都很好。现在我必须在群组帖子上添加过滤器。为此,我需要从mongo中的“Group”帖子集合以及mysql的“posts”表中获取信息。

让我向您展示“Groups”集合中的1个文档:

{
    "_id" : NumberLong("5834246781632"),
    "created_by" : "3691203254400",
    "title" : "some title here",
    "lowcase_title" : "some title here",
    "date" : "2015-12-24 11:50:42",
    "cat" : "724",
    "description" : "dasf",
    "members" : ["3691203254400", "3693509330048"],
    "posts" : ["1471301175296", "1473939604352", "1479643049536"],
    "is_deleted" : NumberLong(0)
}

和 Post表包含id,title,created_date,created_by .. etc列。

我需要添加一个过滤器,按照过去2周内在群组中发布的“帖子”数对“群组”进行排序。 (在“posts”子文档数组上方的Group集合中包含该组中包含的帖子ID)

如果我可以加入这两个表格,那么我可以轻松添加过滤器。

我在Yii 1.x工作。

任何人都可以更好地指导我吗?

1 个答案:

答案 0 :(得分:2)

MySQL和MongoDB是完全分离的技术,无法相互通信,因此您无法在应用程序端实现JOIN。这意味着您必须先查询一个数据库,然后使用结果查询另一个数据库。您首先查询的那个应该是您可以过滤最多的那个,以避免将太多不必要的数据加载到您的应用程序中。