2012-04-20 40 views
1

我想創建一個模型來處理與用戶有關的所有事情,從findOne()函數開始。如何使用node.js創建用戶模型?

app.js:

var u = new User(client); 
u.findOne(function(error, user) { 
    console.log(error, user); 
}); 

型號/ user.js的:

var User = function (client) { 
    this.client = client 
}; 
User.prototype.findOne = function (id, callback) { 
    client.connect(); 
    client.get('testkey', function(error, result) { 
    var test = "[email protected]"; 
    callback(null, test); 
    client.close(); 
    }); 
}; 
module.exports = User; 

node.js的抱怨findOne()將是不確定的。

創建這些模型併爲它們提供對象(如數據庫池等)的正確方法是什麼?

+1

_client沒有被定義,因爲......它沒有在'findOne'方法中定義。你應該使用'this.client.connect()'。 – wroniasty 2012-04-20 11:22:33

+0

當然。謝謝。 – Patrick 2012-04-20 11:49:52

回答

2

你的代碼中包含各種錯誤:

  • 創建實例
  • ,當你不使用new您與對象文字語法混合功能:

    var User = function (client) { 
        client: client 
    }; 
    

    你想this.client = client;代替。現在函數體不做任何事情,因爲它只是定義了一個名爲client的標籤,它與變量client沒有任何關係。

我建議您搜索一個現有的node.js ORM,而不是嘗試自己寫一個。

+0

我同意。我打算使用flatiron /足智多謀,但我需要另一個引擎,這需要時間來發展。 – Patrick 2012-04-20 10:15:01

+0

我改變了源代碼,它說客戶端沒有定義。這是我已經嘗試了幾次而且失敗了。 – Patrick 2012-04-20 10:26:46

相關問題