如何在Falcor中构建多参数搜索

时间:2016-05-25 15:09:08

标签: falcor

为Falcor查询构建搜索路径的最佳做法是什么?

这是一个人员配备领域的例子,其中一个人员配置协调员正在努力为人们提供项目需求:

  • 需求有startDateendDate - 两者都是需要的简单字符串属性
  • 需要project,因此它有对项目的引用
  • 需要skill,因此它提及技能

以下是needMap中的需求:

needMap: {
    101: {
        startDate: '2016-07-04T04:00:00.000Z',
        endDate: '2016-10-22T03:59:59.999Z',
        project: $ref('projectMap[87]'),
        skill: $ref('skillMap[3]')
    },
    ...
}

如何指定搜索符合以下条件的所有需求:

  • minStartDate:需要的最短开始日期
  • maxStartDate:需要的最长开始日期
  • projectId:过滤仅需要此项目
  • skillId:过滤只需要此技能

注意:我不是在寻找实际搜索的代码或想法,只是如何使用Falcor路径概念指定搜索。

1 个答案:

答案 0 :(得分:2)

github中falcor存储库中的问题#713#775解决了这个问题。出现两种可能的解决方案:

  • 您可以使用查询字符串,对于您的情况,它将是这样的:Reflect.defineMetadata
  • 您可以使用其他端点进行搜索,然后仅使用falcor获取有关其他端点返回的结果的更多信息

我想另一个选择是使用model.get(["needs", "search", "minStartDate=2016&maxStartDate=2016&projectId=$ref(projectMap[87])])而不是call,因为这允许您传递多个参数。你会有这样的事情:

get