2015-07-06 27 views
1

我是strongloop api的新手,但我在使用其他apis方面有一些經驗。 在使用建立分頁功能strongloop API,我才知道,strongloop API不會在結果返回的總記錄,無論是在應對身體也不在頭Strongloop API GET請求不返回項目/記錄計數

我一直在尋找類似這樣的功能。 What’s the best RESTful method to return total number of items in an object?

我的問題是 是否有使用strongloop API實現相同的任何其他方式?

我檢查了strongloop api和stackoverflow的問題,但沒有得到 滿意的結果。

我認爲這是非常基本的功能,它必須在那裏實現。任何建議都會有幫助。謝謝

+0

您是否嘗試過使用遠程掛鉤? http://docs.strongloop.com/display/public/LB/Remote+hooks –

+0

你介意接受我的回答:) –

+0

謝謝你的回答,但它不能解決問題。感謝您的努力。 –

回答

2

要找到記錄的總數, 您可以使用REST API或NodeJS調用。其他選項也可在軟件開發工具包提供,如查詢的格式角SDK強有少許變化

REST API:

http://0.0.0.0:3001/api/brands/count 

節點

var Brand = app.models.brand; 
    Brand.count(function (err, count) { 
     console.log(count); 
     } 
    }); 

要進行分頁,使用: {「skip」:40,「limit」:10}例如:

var Brand = app.models.Brand; 
    Brand.find({ 
     skip: 30, 
     limit: 20 
    }, function (err, data) { 
     res.send(data); 
    }) 

這會給你一個分頁數據。您還可以使用條件,排序等...與上述代碼結合使用。

乾杯!

0

如果你想要的僅僅是數量,你不介意做第二個請求,只是爲了讓伯爵也Strongloop也有專門的支持:api/<YOUR-MODLE-NAME>/count

但我相信你想要的是僅使一個請求並獲得計數和數據,如果是這種情況,那麼你可以通過遠程鉤子來實現這一點,以在頭部或結果本身中添加這些額外的信息。

要添加的總數在頭,看看這個線程在GitHub上,有人張貼代碼示例在X-合計數加在返回頭: https://github.com/strongloop/loopback/issues/1411

您還可以使用模型中的afterRemote掛鉤並更改返回的結果以添加計數。這裏有一個例子:

module.exports = function (Model) { 
    Model.afterRemote('find', function (ctx, model, next) { 
     Model.count().then(function (totalCount) { 
      ctx.result = { 
       total: totalCount, 
       items: model 
      }; 
      next(); 
     }); 
    }); 
}; 

假設你正在使用Strongloop API第3版,看看他們的文檔的遠程會話鉤:https://loopback.io/doc/en/lb3/Remote-hooks.html

希望這有助於。