該開源項目目前已被 OData 官網 (odata.org)收錄node
node-odata 可讓你輕鬆建立 REST API, 並能使用 OData 協議的格式進行數據的查詢. 它讓你能夠更方便的建立 API 服務, 使你更專一於業務邏輯的處理.git
OData 全稱開放數據協議(Open Data Protocol), 是一個用於 web 的數據訪問協議. OData 提供了一個統一的 CRUD (create, read, update, and delete) 操做來查詢和維護數據集.github
node-odata 同時結合了 OData 強大的數據查詢能力以及 NodeJS 高併發能力的優點, 使開發者能快速的建立一個高性能並支持各類複雜查詢的 REST API.web
在常規的 REST 框架中, 僅僅提供了 REST 風格的 CRUD 操做. 開發者不的不對每個資源都手動添加一些公共功能, 如排序/分頁等, 甚至在複雜的業務場景中, 開發者不的不一次次根據業務需求制定一些特定的複雜查詢, 這都極大的浪費了人力資源. OData數據訪問協議很好的解決了這一問題. 它定義了$filter, $orderby, $select等一系列關鍵字來進行統一的篩選, 排序, 分頁等操做. 極大的減輕了開發者的負擔, 提升了生產力.mongodb
反觀 OData 社區, 目前 node-odata 是惟一一款基於 NodeJS 的 OData 實現. 與其它編譯型語言的 OData 實現相比, 它運行更加高效, 部署更加方便, 編寫更加簡單 (最短只需3行代碼便可初始化一個 OData 服務).npm
OData最大的特色就是他徹底暴露的數據接口, 服務端只須要幾行代碼就能讓客戶端實現爲所欲爲的查詢, 您能夠試試:併發
很酷炫, 是嗎? 你還能夠任意組合查詢條件, 以實現複雜查詢. 好比:app
node-odata 的運行須要依賴於 NodeJS 和 MongoDB, 在安裝了依賴項以後, 運行如下命令便可:框架
$ npm install node-odata
這裏咱們講建立並運行一個最簡單的 OData 服務.ssh
安裝完成後, 新建 index.js 文件並輸入:
var odata = require('node-odata'); odata.set('db', 'mongodb://localhost/my-app'); odata.resources.register({ url: '/books', model: { title: String, price: Number } }); odata.listen(3000);
保存後輸入如下命令便可啓動 OData 服務:
$ node index.js
它將自動註冊如下路由:
GET /odata/books GET /odata/books/:id POST /odata/books PUT /odata/books/:id DELETE /odata/books/:id
(點擊 這裏 查看完整文檔)
(查看 GitHub Page 請點擊 這裏)