1

我想创建一个模型来处理与用户相关的一切,从 findOne() 函数开始。

应用程序.js:

var u = new User(client);
u.findOne(function(error, user) {
  console.log(error, 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 = "hello@world.com";
    callback(null, test);
    client.close();
  });
};
module.exports = User;

node.js 抱怨 findOne() 未定义。

创建此类模型并向它们提供对象(如数据库池等)的正确方法是什么?

4

1 回答 1

2

您的代码包含各种错误:

  • new创建实例时不要使用
  • 您将函数与对象文字语法混合在一起:

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

    你想要this.client = client;。现在,函数体什么也不做,因为它只是定义了一个名为的标签client,对变量不做任何事情client

我建议您搜索 node.js 的现有 ORM,而不是尝试自己编写一个。

于 2012-04-20T09:00:15.447 回答