我在PHP中使用Symfony,MariaDB和MongoDB创建了一个应用程序。
应用程序的需求需要具有层次结构(关系),其中MariaDB负责并且每个记录不同更多是文档记录,MongoDB用于解决它。 MongoDB聚合框架它通过动态定制生成器用于统计报告。
当您需要在MongoDB中交叉信息(JOIN)时会出现问题
样品:
; Sample model
A -- 1:M -- B
B -- 1:M -- C
C -- M:M -- D
A -- 1:M -- E
每个实体至少有2列
id
:AUTOINCREMENT PRIMARY KEY slug
:Mongo ObjectID 现在随机实体A(id = 24)在mongodb上有以下数据(文档)
{
name: "Motoko Kusanagi",
powers: ["Superhuman strength", "genius-level intellect", "first-class hacker"]
}
并且有2个D实体(通过C - > B - > A(id = 24))并带有以下数据
// D(id = 35)
{
date: "2005-10-30 T 10:45 UTC",
kills: 2
}
// D(id = 1235)
{
date: "2007-11-09 T 11:20 UTC",
tachikoma: 2,
kills: 5
}
示例报告:
当前的开发可以解决以前的问题,但仅限于数据存在于一个文档中。我如何加入数据,或者我如何建立一个搜索所有这些东西的索引