使用 NodeJS 和 JayData 的 OData 服务

2023-12-14

我正在尝试遵循这个例子: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 上运行此代码(使用 mongodb 作为数据库)时,我收到此错误:

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

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

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


所以对我来说解决方法是安装mongodb包来自 npm

npm install mongodb

并插入一些数据。

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 NodeJS 和 JayData 的 OData 服务 的相关文章

随机推荐