Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sequelize.js 如何向Sequelize挂钩添加上下文?_Sequelize.js - Fatal编程技术网

Sequelize.js 如何向Sequelize挂钩添加上下文?

Sequelize.js 如何向Sequelize挂钩添加上下文?,sequelize.js,Sequelize.js,我想使用钩子对一行执行访问控制,这样用户只能访问他们自己的行。钩子将添加一个额外的where子句,以确保用户是行的所有者(例如:where-ownerId=user.id) 问题是,我如何传递用户id进行续集,以便在钩子触发时钩子拥有它?我已经查阅了文档,我不清楚这是否可行 谢谢 参考:要添加上下文,您可以在选项对象中包含任何您喜欢的内容。例如,假设您使用的是Model.findAll()。您可以设置如下选项: options = { attributes: ['id', 'column1'

我想使用钩子对一行执行访问控制,这样用户只能访问他们自己的行。钩子将添加一个额外的where子句,以确保用户是行的所有者(例如:where-ownerId=user.id)

问题是,我如何传递用户id进行续集,以便在钩子触发时钩子拥有它?我已经查阅了文档,我不清楚这是否可行

谢谢


参考:

要添加上下文,您可以在选项对象中包含任何您喜欢的内容。例如,假设您使用的是
Model.findAll()
。您可以设置如下选项:

options = {
  attributes: ['id', 'column1', 'column2'],
  where: { someColumn: 'aValue' }
}

options.context = 'foo';

然后在钩子中,您将能够访问options.context并使用它。当然,您可能不应该使用Sequelize使用的任何“保留”字来过滤查询。

上下文在Sequelize文档中似乎不受支持:Sequelize typescript定义中也不支持它,这意味着使用此选项将不允许您的代码进行编译:对于如何使其工作还有其他建议吗?