我正在一个网站上工作,我有一个表格,其中包含所有帖子/帖子相关信息,所有“组”帖子相关信息都存储在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工作。
任何人都可以更好地指导我吗?
答案 0 :(得分:2)
MySQL和MongoDB是完全分离的技术,无法相互通信,因此您无法在应用程序端实现JOIN。这意味着您必须先查询一个数据库,然后使用结果查询另一个数据库。您首先查询的那个应该是您可以过滤最多的那个,以避免将太多不必要的数据加载到您的应用程序中。