使用Mongo Library在微风中支持扩展命令

时间:2015-06-23 09:53:21

标签: breeze

有人可以告诉我什么时候breeze中的expand命令可以和MongoDB一起使用吗?

亲切的问候 多米尼克

1 个答案:

答案 0 :(得分:1)

EntityQuery'扩展'函数不太可能为MongoDB实现,因为'扩展'从概念上讲,需要加入'这是Mongo没有实现的功能。

然而,MongoDB中的想法是,对象的孩子(或者如果你来自关系背景的关系)实际上是与父母一起存储和返回的。从 breeze 角度来看,这意味着我们将所有这些相关的子对象视为在查询父对象时自动返回的复杂对象。换句话说,所有"扩展"您可能想要的内容自动成为查询结果的一部分。

当您实际尝试以关系方式使用MongoDB时,唯一的问题就出现了,即将对象的ID存储在一个集合中作为另一个集合中对象的属性。从MongoDB(和 breeze )的角度来看,这意味着您需要执行另一个查询来获取此相关数据。

我们确实考虑过将微风和扩展转换为一系列嵌套查询,但它确实违反了" MongoDB"心态和这种查询的表现可能很糟糕。 ......而且我们不确定它对大多数MongoDB开发人员来说是否有用或可取。

一般情况下,如果您的数据中出现这种情况很多,那么MongoDB可能不是正确使用的数据库,因为您最终会手动加入"加入"你的数据,这在Mongo是一个非常繁琐的过程。这是关系数据库确实是更好选择的情况之一。