簡體   English   中英

如何在 Falcor 中顯示排序順序查詢?

[英]How to present sort order-by query in Falcor?

假設模型的結構如下

{
   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] } ] } }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM