Jim*_*eil 6 hook node.js sequelize.js
我正在尝试在模型上实现一个afterFind钩子,并且无法弄清楚语义是什么.我将使用doc和其他StackOverflow问题作为指导,从试验和错误中将以下内容拉到一起.
我的目标是按摩结果(通过应用get(plain:true))并将转换后的值作为promise的结果传递.例如,我希望/希望它返回一个空结果集:
hooks: {
afterFind: function(result, options, fn)
{
result = [];
}
},
Run Code Online (Sandbox Code Playgroud)
但它只会导致请求挂起.文档说参数是通过引用传递的,不包括返回.其他样本意味着:
hooks: {
afterFind: function(result, options, fn)
{
result = [];
return fn(null, result);
}
},
Run Code Online (Sandbox Code Playgroud)
它不会挂起,但不会更改我的结果集.更何况,我不知道神奇的"fn"论点是什么/做什么.
小智 10
我遇到了类似的问题.这是因为当你执行findAll时,传递给钩子的参数是一个值数组而不是一个对象.我这样做是一种解决方法 -
hooks: {
afterFind: function(result) {
if(result.constructor === Array) {
var arrayLength = result.length;
for (var i = 0; i < arrayLength; i++) {
result[i].logo = "works";
}
} else {
result.logo = "works";
}
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我在找到它后更改了记录的logo属性.
| 归档时间: |
|
| 查看次数: |
3244 次 |
| 最近记录: |