在node.js中从另一个模型引用一个模型

用户465342

我有两个模型问答。一个问题有很多答案,一个答案属于一个问题。

然后在“回送”中提供对答案的引用。我不知道的是,然后如何获得答案所属的问题的参考!?

module.exports = function(Answer) {

    console.log(ctx.instance.question)
    console.log(ctx.instance.question.points) // undefined


};

我可以得到看起来像是对该对象的引用……但是我不知道如何引用该对象的任何属性!

如何引用属于另一个模型的模型?

以下提供的问题和答案供参考。

{
  "name": "Question",
  "plural": "Questions",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "text": {
      "type": "string",
      "required": true
    },
    "points": {
      "type": "number",
      "required": true
    }
  },
  "validations": [],
  "relations": {
    "answers": {
      "type": "hasMany",
      "model": "Answer",
      "foreignKey": ""
    },
    "approval": {
      "type": "hasOne",
      "model": "Approval",
      "foreignKey": ""
    },
    "student": {
      "type": "belongsTo",
      "model": "Student",
      "foreignKey": ""
    }
  },
  "acls": [],
  "methods": {}
}

{
  "name": "Answer",
  "plural": "Answers",
  "base": "PersistedModel",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "text": {
      "type": "string",
      "required": true
    }
  },
  "validations": [],
  "relations": {
    "question": {
      "type": "belongsTo",
      "model": "Question",
      "foreignKey": ""
    },
    "student": {
      "type": "belongsTo",
      "model": "Student",
      "foreignKey": ""
    },
    "approval": {
      "type": "belongsTo",
      "model": "Approval",
      "foreignKey": ""
    }
  },
  "acls": [],
  "methods": {}
}
乔丹·卡斯珀

我猜您提供的代码是common/model/answer.js基于文件的外观而来的,但是该文件是在应用程序设置期间执行的。上下文(ctx在您的示例中)将不存在。仅在远程挂接或其他此类操作期间提供上下文因此,我将根据钩子为您提供答案,以根据Answer其ID查找,然后获取相关问题。此代码应放在您的common/model/answer.js文件中(在导出的包装函数中):

Answer.afterRemote('findById', function(ctx, theAnswer, next) {
  theAnswer.question(function(err, question) { // this is an async DB call
    if (err) { return next(err); } // this would be bad...
    console.log(question);

    // You can then alter the question if necessary...
    question.viewCount++
    question.save(function(err) {
      if (err) {
        // an error here might be bad... maybe handle it better...
        return next(err);
      }
      // if get here things are good, so call next() to move on.
      next();
    });
  });
});

请注意,如果您想在请求-响应周期的其他步骤中执行此操作,则可能会有所不同。每当您打到电话时,您都将打这个远程挂机/api/Answers/[id]

第二个注意事项:如果只需要客户端,也可以直接从API获取此数据:

.../api/Answers?filter={"include":"question"}

[已更新为显示保存问题。]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node.js/Bookshelf - 一个表中的多个列引用另一个表的 ID 的映射模型

来自分类Dev

如何从Node.js猫鼬中的模型关系访问另一个模型关系

来自分类Dev

如何从另一个文件引用Node.js中的变量

来自分类Dev

在具有多个导出功能的另一个文件中引用socket.io实例(node.js)

来自分类Dev

Node.js:在另一个自定义类中引用自定义类

来自分类Dev

在 node js 中的另一个 cron 作业中执行一个 cron 作业

来自分类Dev

在node.js中将一个模块替换为另一个模块

来自分类Dev

Node.js:如何用一个库替换另一个库?

来自分类Dev

在node.js中将一个模块替换为另一个模块

来自分类Dev

如何从另一个函数调用一个函数-Node JS

来自分类Dev

如何传递一个函数作为 Node.js 中另一个函数的回调?

来自分类Dev

更新猫鼬模型(node.js)中的一个字段

来自分类Dev

使用node.js在javascript中的另一个文件中调用函数

来自分类常见问题

Node.js-从另一个Lambda函数中调用AWS.Lambda函数

来自分类Dev

如何重定向到node.js中的另一个页面

来自分类Dev

确定路径是否是Node.js中另一个路径的子目录

来自分类Dev

另一个源文件中的node.js事件侦听器

来自分类Dev

将源文件复制到Node.js中的另一个目标

来自分类Dev

如何从Node.js中的另一个Lambda调用graphql lambda?

来自分类Dev

Node.js- 将变量设置为另一个文件中的变量是否也会更改另一个文件中的该变量?

来自分类Dev

使一个函数返回子函数,但默认返回另一个函数(Node.js / JS)

来自分类Dev

使一个函数返回子函数,但默认返回另一个函数(Node.js / JS)

来自分类Dev

在node.js中,如何从app.js中的另一个模块中的模块访问函数?

来自分类Dev

Node.js-在完全执行另一个方法之后调用一个方法

来自分类Dev

使用Node.JS从一个函数向另一个函数返回值

来自分类Dev

如何将文档从一个HTML移到另一个(MongoDB / Node.js)

来自分类Dev

Node.js 从一个控制器方法回调到另一个

来自分类Dev

在 Node.JS 中将一个文件导入另一个文件时出错

来自分类Dev

从另一个脚本运行Node Package + Arguments

Related 相关文章

  1. 1

    Node.js/Bookshelf - 一个表中的多个列引用另一个表的 ID 的映射模型

  2. 2

    如何从Node.js猫鼬中的模型关系访问另一个模型关系

  3. 3

    如何从另一个文件引用Node.js中的变量

  4. 4

    在具有多个导出功能的另一个文件中引用socket.io实例(node.js)

  5. 5

    Node.js:在另一个自定义类中引用自定义类

  6. 6

    在 node js 中的另一个 cron 作业中执行一个 cron 作业

  7. 7

    在node.js中将一个模块替换为另一个模块

  8. 8

    Node.js:如何用一个库替换另一个库?

  9. 9

    在node.js中将一个模块替换为另一个模块

  10. 10

    如何从另一个函数调用一个函数-Node JS

  11. 11

    如何传递一个函数作为 Node.js 中另一个函数的回调?

  12. 12

    更新猫鼬模型(node.js)中的一个字段

  13. 13

    使用node.js在javascript中的另一个文件中调用函数

  14. 14

    Node.js-从另一个Lambda函数中调用AWS.Lambda函数

  15. 15

    如何重定向到node.js中的另一个页面

  16. 16

    确定路径是否是Node.js中另一个路径的子目录

  17. 17

    另一个源文件中的node.js事件侦听器

  18. 18

    将源文件复制到Node.js中的另一个目标

  19. 19

    如何从Node.js中的另一个Lambda调用graphql lambda?

  20. 20

    Node.js- 将变量设置为另一个文件中的变量是否也会更改另一个文件中的该变量?

  21. 21

    使一个函数返回子函数,但默认返回另一个函数(Node.js / JS)

  22. 22

    使一个函数返回子函数,但默认返回另一个函数(Node.js / JS)

  23. 23

    在node.js中,如何从app.js中的另一个模块中的模块访问函数?

  24. 24

    Node.js-在完全执行另一个方法之后调用一个方法

  25. 25

    使用Node.JS从一个函数向另一个函数返回值

  26. 26

    如何将文档从一个HTML移到另一个(MongoDB / Node.js)

  27. 27

    Node.js 从一个控制器方法回调到另一个

  28. 28

    在 Node.JS 中将一个文件导入另一个文件时出错

  29. 29

    从另一个脚本运行Node Package + Arguments

热门标签

归档