Loopback 用户模型实例没有实例方法

Loopback user model instance has no instance methods

我正在从 mongo 数据库中获取一个用户,但是我得到的这个用户没有任何方法,也没有我期望的所有属性。为什么会这样?

这是代码:

app.models.MyUser.findOrCreate({where: {email: req.user.email}}, {
      email: req.user.email,
      password: sha1sum(JSON.stringify(req.user)),
      firstName: req.user.displayName
    }, function (err, user) {
      if (err) throw err;
      console.log(user.login); //undefined
      res.json(user);
    });

这是我模型的代码:

{
  "name": "MyUser",
  "plural": "myusers",
  "base": "User",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "firstName": {
      "type": "string"
    }
  },
  "acls": [
    {
      "accessType": "*",
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "ALLOW"
    }
  ],
  "methods": []
}

User.login是静态方法,不是原型方法。参见 https://github.com/strongloop/loopback/blob/master/common/models/user.js#L164。您应该可以使用 user.constructor.login.