【问题标题】:How to create a user model with node.js?如何使用 node.js 创建用户模型?
【发布时间】:2012-04-20 18:25:52
【问题描述】:

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

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 = "hello@world.com";
    callback(null, test);
    client.close();
  });
};
module.exports = User;

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

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

【问题讨论】:

  • 客户端未定义,因为...好吧,它没有在“findOne”方法中定义。你应该使用this.client.connect()

标签: javascript node.js architecture resources models


【解决方案1】:

您的代码包含各种错误:

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

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

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

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

【讨论】:

  • 我同意。我打算使用 flatiron/resourceful,但我需要另一个引擎,这需要时间来开发。
  • 我更改了源,它说客户端未定义。这是我已经尝试过几次但失败了。
猜你喜欢
  • 2016-12-20
  • 2018-01-05
  • 2021-09-25
  • 2023-03-14
  • 2019-10-17
  • 1970-01-01
  • 1970-01-01
  • 2017-06-24
  • 1970-01-01
相关资源
最近更新 更多