2
我想以此为榜样: http://jaydata.org/blog/install-your-own-odata-server-with-nodejs-and-mongodb ,但它似乎是过时的,这样写的例子的评论,我有更新的一些代码行如下:OData服务使用的NodeJS和JayData
数据模型(数据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的代码(使用蒙戈DB数据库)我得到这个错误:
500类型错误:无法读取属性未定义
(这里的截图)的“providerConfiguration” http://ibin.co/1y4cPcAvfK7C
我在寻找的是如何重写示例,以便它可以工作。