使用NodeJS和JayData的OData服务

我试图按照这个例子: http : //jaydata.org/blog/install-your-own-odata-server-with-nodejs-and-mongodb但它似乎是过时的,所以写在例子的评论我有更新一些代码行如下:

数据模型(data-model.js文件):

$data.Class.define ( "dbTest.tblTest", $data.Entity, null, { ID: { type: "id", key: true, computed: true, nullable: false }, Data: { type: "string" } }, null ); $data.Class.defineEx ( "dbTest.Context", [ $data.EntityContext, $data.ServiceBase ], null, { tblTest: { type: $data.EntitySet, elementType: dbTest.tblTest } } ); exports = dbTest.Context; 

服务器(server.js文件):

  var c = require('express'); var bodyParser = require('body-parser'); var cookieParser = require('cookie-parser'); var methodOverride = require('method-override'); var session = require('express-session'); var errorhandler = require('errorhandler'); require('jaydata'); window.DOMParser=require('xmldom').DOMParser; require('q'); require('./data-model.js'); var app = c(); app.use(c.query()); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(cookieParser()); app.use(methodOverride()); app.use(session({ secret: 'session key' })); app.use("/dbTest", $data.JayService.OData.Utils.simpleBodyReader()); app.use("/dbTest", $data.JayService.createAdapter(dbTest.Context, function (req, res) { return new dbTest.Context({name: "mongoDB", databaseName:"test", address: "127.0.0.1", port: 27017 }); })); app.use("/", c.static(__dirname)); app.use(errorhandler()); app.listen(8080); 

然后当我在Node.js上运行这个代码(使用mongo数据库作为数据库),我得到这个错误:

500 TypeError:无法读取未定义的属性'providerConfiguration'

(这里是截图) http://ibin.co/1y4cPcAvfK7C

我正在寻找的是如何重写示例,以便它可以工作。

所以对我的修复是从npm安装mongodb包

 npm install mongodb 

并插入一些数据。

在这里输入图像描述