在文档中引用文档的嵌入式数组的嵌入式数组上查询Doctrine2和MongoDB

西蒙

我有一个集合,Customer其中有多个OrderOrder是在一个嵌入式阵列Customer的集合。里面一个Order有一个@ReferencedManyProduct集合。

我现在想要做的每个一些报告Product,一个Customer曾经买了。

MongoDB为该客户查找所有产品并在此查询上添加过滤器的方式是什么。我不想循环每个订单,然后获取所有产品并将它们放入Doctrine ArrayCollection中。

有直接查询这些产品的方法吗?

斯拉瓦(Slava Shklyar)

Mongo DB不会在单个查询中自动获取引用。也许某些驱动程序支持此类功能,并且可能产生对用户透明的子查询。

例如,您可以使用map-reduce模式将报告所需的数据汇总到一个集合中,或将Product数据嵌入到Customer中。但是结果是,对Product的查询将变得更加复杂。

您可以对数据进行反规范化,并复制“客户”集合中的报表所需的某些“产品”数据。然后,您将不得不处理这些集合的同步。

在同一问题上,我得出的结论是,如果您想反映对象之间的关系,则应该使用关系数据库:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章