包含和字段过滤器不能一起工作?

时间:2016-04-14 09:05:19

标签: strongloop

我有3个型号A,B,C

A属于B. B属于C

我想查询A,包含B,包含C.但我只想要每个模型中的几个字段。 使用这样的过滤器而不指定任何"字段"工作正常并带回嵌套模型。

{
  "include": {
    "relation": "modelB",
    "scope": {
      "include": {
        "relation": "modelC"
      }
    }
  }
}

但是,只要我添加"字段"过滤属性到查询的任何级别,来自该级别的所有包含关系似乎都被忽略。所以如果我用这个过滤器查询:

{
  "fields": ["modelAField"],
  "include": {
    "relation": "modelB",
    "scope": {
      "include": {
        "relation": "modelC"
      }
    }
  }
}

我只使用modelAField获得modelA实例 - 就好像我没有要求包含modelB一样。如果我省略"字段"在顶级并将其添加到modelB范围,然后我得到modelA的所有字段,我要求的modelB字段的子集,但没有包含modelC。

1 个答案:

答案 0 :(得分:4)

我浏览了loopback-connector代码,看起来发生了什么,因为我没有在我的"字段中包含外键字段"数组,初始查询没有带回足够的信息来正确编写查询以带回相关对象。

<强> TL:博士

在所有关系中包含外键。

来源:https://github.com/strongloop/loopback/issues/2186 我把它包括在内,因为我认为许多人在编程时不会去github分类或bug问题来找到解决他们问题的方法,而不是SO。这就是为什么我认为在这里发布这个问题很有用。