如何在包含的对象中获取特定字段

时间:2015-12-27 11:57:48

标签: loopbackjs strongloop

我正在尝试从包含的对象中获取api调用中的特定字段。

我得到一个空数组。

filter =

  

{“where”:{“type”:“person”},“include”:[“objectA”],“fields”:“objectA.name”}

我做错了什么?

1 个答案:

答案 0 :(得分:4)

例如,如果您有以下数据模型:

Model: Customer.
Fields: id, name.

Model: Order.
Fields: id, date, description, customerId.

Order.belongsTo(Customer, {foreignKey: ‘customerId’});

您只能通过编写此过滤器来获取客户名称:

var filter = {
  "where": {
    "id": 1
  },
  "include": [
    {
      "relation": "customer",
      "scope": {
        "fields": [
          "name"
        ]
      }
    }
  ]
}

Order.find(filter, function(err, order) {
    ...
}) 

在你的情况下,我猜测过滤器假设是这样的:

{
  "where": {
    "type": "person"
  },
  "include": {
    "relation": "objectA",
    "scope": {
        "fields": ["objectA.name"]
    }
  }
}