2015-04-12 31 views
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

我在尋找的是如何重寫示例,以便它可以工作。

回答