“加载”挂钩后,回送没有响应修改后的数据

我在我的Model.js文件中有以下代码。

Model.observe('loaded', (ctx, next) => { const { data, options: { user } } = ctx; const owner = (user && data && user.uid === data.userId) || false; console.log( `${data.id}: loaded - access by ${user && user.name}, owner:${owner}` ); if (!owner) { delete data.testProp1; } console.log('returning: ', ctx.data); next(); }); 

当我提出请求时,我看到以下日志输出(服务器日志):

 f3f9ffd6-14dc-42e5-94ba-503aa3426faa: loaded - access by User1, owner:false returning: { testProp2: true, id: 'f3f9ffd6-14dc-42e5-94ba-503aa3426faa', userId: 'sfeywkKSuBTlf0DwE4ZOFd8RX5E3' } 

但是,然后在实际的响应浏览器收到我实际上得到:

 { testProp1: true, testProp2: true, id: 'f3f9ffd6-14dc-42e5-94ba-503aa3426faa', userId: 'sfeywkKSuBTlf0DwE4ZOFd8RX5E3' } 

在我缺less的文档中有什么东西吗? 删除属性正是在这里的Loopback文档中显示的。 另外,在调用next()之前,我实际上将修改后的数据看作ctx对象上的data属性。 任何人遇到这个问题或知道一些未明确说明的文档的警告?