Loopbackjs 在返回到客户端之前修改环回模型

Loopbackjs 在返回到客户端之前修改环回模型,loopbackjs,Loopbackjs,我有一个ServerFile模型,它存储关于上传文件的各种信息 { .... filename: 'blah.jpeg', container: 'images', size: 123654, ... } 我希望随对象返回一个动态url属性,而不将其存储在数据库中 { .... filename: 'blah.jpeg', container: 'images', size: 123654, ... url: 'uploads/images/blah.jpeg' } 我

我有一个ServerFile模型,它存储关于上传文件的各种信息

{
 ....
 filename: 'blah.jpeg',
 container: 'images',
 size: 123654,
 ...
}
我希望随对象返回一个动态url属性,而不将其存储在数据库中

{
 ....
 filename: 'blah.jpeg',
 container: 'images',
 size: 123654,
 ...
 url: 'uploads/images/blah.jpeg'
}
我该怎么做呢?

在您的common/models/server-file.js文件中,在find上添加一个远程钩子

此外,如果希望在返回属性之前删除属性,可以使用

结果。取消设置属性“密码”

module.exports = function(ServerFile) {
....
ServerFile.afterRemote('find', function(ctx, modelInstance, next) {
    if (ctx.result) {
      if (Array.isArray(ctx.result)) {
        ctx.result.forEach(function(result) {
          result.url = new String(result.constructUrl());
        });
      } else {
        result.url = new String(result.constructUrl());
      }
    }
    next();
  });