gpt4 book ai didi

javascript - 使用 NodeJS 和 JayData 的 OData 服务

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:45 25 4
gpt4 key购买 nike

我正在尝试遵循这个例子: 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 db 作为数据库)时,我收到此错误:

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

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

我正在寻找的是如何重写示例以使其能够工作。

最佳答案

所以我的解决方法是安装 mongodb package来自 npm

npm install mongodb

并插入一些数据。

enter image description here

关于javascript - 使用 NodeJS 和 JayData 的 OData 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29589242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com