我有一个集合,Customer
其中有多个Order
。的Order
是在一个嵌入式阵列Customer
的集合。里面一个Order
有一个@ReferencedMany
的Product
集合。
我现在想要做的每个一些报告Product
,一个Customer
曾经买了。
MongoDB为该客户查找所有产品并在此查询上添加过滤器的方式是什么。我不想循环每个订单,然后获取所有产品并将它们放入Doctrine ArrayCollection中。
有直接查询这些产品的方法吗?
Mongo DB不会在单个查询中自动获取引用。也许某些驱动程序支持此类功能,并且可能产生对用户透明的子查询。
例如,您可以使用map-reduce模式将报告所需的数据汇总到一个集合中,或将Product数据嵌入到Customer中。但是结果是,对Product的查询将变得更加复杂。
您可以对数据进行反规范化,并复制“客户”集合中的报表所需的某些“产品”数据。然后,您将不得不处理这些集合的同步。
在同一问题上,我得出的结论是,如果您想反映对象之间的关系,则应该使用关系数据库:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句