该开源项目目前已被 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 请点击 这里)