2016-06-14 48 views
0

我正在一個網站上工作,我有一個表中包含所有帖子/線程相關信息,並且由於其龐大的結構,所有「組」帖子相關信息都存儲在mongodb中。如何實現mongo收集和mysql表之間的連接

一切都很好。現在我必須在羣組文章上添加過濾器。爲此,我需要從mongo的「Group」帖子集合以及mysql的「posts」表中獲取信息。

讓我告訴你,從 「組」 收集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) 
} 

和 郵政表包含ID,標題,CREATED_DATE,CREATED_BY ..等列。

我需要添加一個過濾器,按照最近2周內發佈在組中的「帖子」數量對「羣組」進行排序。 (在「posts」子文檔數組之上的Group集合中包含該組中包含的帖子ID)

如果我可以加入這兩個表格,那麼我可以輕鬆添加過濾器。

我正在Yii 1.x工作。

任何人都可以更好地指導我嗎?

回答

2

MySQL和MongoDB是完全分離的技術,無法相互通信,因此您不會在應用程序端實現JOIN。這意味着您必須先查詢一個數據庫,然後使用結果來查詢其他數據庫。您首先查詢的應該是您可以過濾得最多的一個,以避免將太多不必要的數據加載到應用程序中。

+0

這是一個明顯的解決方案,我已經有了。但我想知道如果加入這兩個數據庫可以給我所需的輸出,那麼我不必遵循一個漫長的過程。 –