【问题标题】:OData service using NodeJS and JayData使用 NodeJS 和 JayData 的 OData 服务
【发布时间】:2015-04-12 12:03:27
【问题描述】:

我正在尝试遵循以下示例: 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

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

【问题讨论】:

    标签: javascript node.js mongodb odata jaydata


    【解决方案1】:

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

    npm install mongodb
    

    并插入一些数据。

    【讨论】:

      猜你喜欢
      • 2013-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多