是否可以从Wakanda的服务器端方法返回多个实体集合?

时间:2016-07-19 14:06:26

标签: javascript wakanda

我有以下服务器端方法:

model.Public.someMethod = function(){
  var collections = {};
  collections.collection1 = ds.SomeClass.query("ID > 10");
  collections.collection2 = ds.SomeOtherClass.query("ID > 10");
  return collections;
}
model.Public.someMethod.scope = "public";

当我从浏览器调用此函数时,我不会收到错误或响应。我已经测试了复杂的对象,它们返回正常,我已经返回了一个单独的实体集合(collections.collection1),它也可以正常工作。

我能在一个请求中返回一组实体集合吗?感谢。

更清楚一点,我在前端使用WAF和“onSuccess”参数。

1 个答案:

答案 0 :(得分:1)

在dataClass上执行类似的方法,并使用REST API直接调用它表明返回的对象只包含实体数组,而不包含实体集合。

示例:

model.Employee.methods.employeesBySalary = function() {
    var high = ds.Employee.query("salary > 100000");
    var low = ds.Employee.query("salary < 40000");
    return {high: high, low: low};
};

结果:

{
  "result": {
    "high": [
      {
        "__KEY": "56033",
        "__STAMP": 111,
        "ID": 56033,
        "lastName": "BUDADO",
        "firstName": "TIMOTHY",
        "salary": 149541
      },
      ...
    ],
    "low": [
      {
        "__KEY": "55938",
        "__STAMP": 111,
        "ID": 55938,
        "lastName": "RATUSA",
        "firstName": "IRWIN"
      },
      ...
    ]
  }
}

所以,你实际上无法返回集合 stricto sensu ,但是你可以返回它们的内容,而没有像分页这样的集合功能。