2012-04-20 2 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

+0

Конечно. Благодарю. – Patrick

ответ

2

Ваш код содержит различные ошибки:

  • Вы не используете new при создании экземпляра
  • Вы вперемешку функцию с объектом буквального синтаксисом:

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

    Вы хотите this.client = client; вместо , Прямо сейчас тело функции ничего не делает, поскольку оно только определяет ярлык с именем client ничего не делает с переменной client.

Я предлагаю вам найти существующий ORM для node.js вместо того, чтобы писать его самостоятельно.

+0

Согласен. Я планировал использовать flatiron/resourceful, но для этого мне нужен еще один движок, который требует времени для разработки. – Patrick

+0

Я изменил источник, он говорит, что клиент не определен. Это то, что я пробовал несколько раз уже и не смог. – Patrick