Я пытаюсь следовать этому примеру: 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 (используя Монго дб в качестве базы данных) я получаю эту ошибку:
500 TypeError: Не удается прочитать свойство «providerConfiguration» неопределенной
(здесь скриншоте) http://ibin.co/1y4cPcAvfK7C
Я ищу, как переписать пример, чтобы он мог работать.