Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Falcor中通过查询显示排序顺序?_Falcor_Falcor Router - Fatal编程技术网

如何在Falcor中通过查询显示排序顺序?

如何在Falcor中通过查询显示排序顺序?,falcor,falcor-router,Falcor,Falcor Router,假设模型的结构如下 { events: [ { date: '2016-06-01', name: 'Children Day' }, { date: '2016-01-01', name: 'New Year Day' }, { date: '2016-12-25', name: 'Christmass' }

假设模型的结构如下

{
   events: [
      {
         date: '2016-06-01',
         name: 'Children Day'
      },
      {
         date: '2016-01-01',
         name: 'New Year Day'
      },
      {
         date: '2016-12-25',
         name: 'Christmass'
      }
   ]
}
我们的存储中可能有很多事件。从客户端,我们希望发出一个查询,以按日期按升序获取10个事件的顺序


如何在Falcor中显示此类查询?

以下是我要做的:首先,将您的事件升级到实体,即为它们提供ID:

id | date       | name
 1 | 2016-06-01 | Children Day
 2 | 2016-01-01 | New Year Day
 3 | 2016-12-25 | Christmass
然后提供一个按id提供这些事件的路由:

route: 'eventsById[{integers:ids}]["date","name"]'
返回原始数据。现在,您可以为订单创建新路线

route: 'orderedEvents['date','name']['asc','desc'][{ranges:range}]
它将引用返回到
eventsById
路由中。这样,您的客户甚至可以在同一请求中请求以不同方式排序的相同数据

router.get(
  "orderedEvents.date.asc[0..2]",
  "orderedEvents.date.desc[0..2]");
哪个会回来

{
  'eventsById': {
    1: {
      'date':'2016-06-01',
      'name':'Children Day' },
    2: {
      'date':'2016-01-01',
      'name':'New Year Day' },
    3: {
      'date':'2016-12-25',
      'name':'Christmass' } },
  'orderedEvents': {
    'date': {
      'asc': [
        { '$type':'ref', 'value':['eventsById',2] },
        { '$type':'ref', 'value':['eventsById',1] },
        { '$type':'ref', 'value':['eventsById',3] } ],
      'desc': [
        { '$type':'ref', 'value':['eventsById',3] },
        { '$type':'ref', 'value':['eventsById',1] },
        { '$type':'ref', 'value':['eventsById',2] } ] } }
}