在本地查询具有非空集合的对象

时间:2013-11-12 01:31:15

标签: breeze

我有一组名为Parents的对象(有些还没有孩子),以及相关的Children集合。

我让所有父母和孩子都在当地缓存。对于某些观点,我想只展示那些有孩子的父母。

我无法弄清楚如何做到这一点。

我试过

breeze.EntityQuery
    .from("Parents")
    .where("Children", "!=", null)

这将返回所有家长。

我也试过

breeze.EntityQuery
    .from("Children")
    .select("Parents")

这会为具有多个孩子的家庭返回重复的父母。此外,它返回简单的对象,而不是微风实体。

我也试过

breeze.EntityQuery
    .from("Parents")
    .where("Children", "!=", [])

&安培;

breeze.EntityQuery
    .from("Parents")
    .where("Children.length", ">", 0)

有办法做到这一点吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

更新后的帖子:2013年11月25日

从Breeze 1.4.6开始,现在支持“任何”和“所有”运算符。

旧帖子

Breeze不支持'任何'和'所有'查询运算符(这是允许此操作的),但它们在我们的路线图中。请在Breeze User Voice上投票。

如果您只需要在本地确定,那么简单的解决方法可能只是使用它:(未经测试的代码,因此可能存在拼写错误)。

// assuming "Parent" is the name of the entity type corresponding to the "Parents" endpoint
var parentEntitiesWithChildren = myEntityManager.getEntities("Parent").filter(function(parent) {
  return parent.getProperty("Children").length > 0;
});