5

我在关系数据库上有用户模型。

每个用户可以有许多“用户”,其中“chiefId”是 FK。

"relations": {
    "users": {
      "type": "hasMany",
      "model": "User",
      "foreignKey": "chiefId"
    },
}

我可以像这样查询每个主要用户的相关用户:

GET /users?filter={"include":"users"}

但它返回完整的用户对象。

  • 我应该如何只查询相关用户的“名称”属性?
  • 是否可以在对服务器的一个请求中计算相关实例?
4

3 回答 3

7

一个迟到的答复,但我现在才遇到这个问题。有可能的:

filter: {
 include:{
  relation: "users",
  scope: {
   fields:["name"]
  }
 }
}
于 2015-08-21T08:39:46.360 回答
2

据我了解,这个问题是关于在包含级别添加嵌套过滤器,这似乎尚不支持:https ://groups.google.com/forum/#!msg/loopbackjs/T6onsYMJFOI/V4ILc3Obf3MJ

可能这不是解决此问题的最佳方法,但您可以做的是在 .afterRemote('find', ...) 挂钩中进行手动响应转换。

于 2014-11-19T22:36:50.573 回答
0
/users?filter[fields][0]=name

有关更多信息,请参阅https://github.com/strongloop/loopback-example-relations-basic

于 2014-11-18T18:20:48.727 回答