为什么升级后我收到错误:MethodNotAllowed



我将我的feathersjs版本从2.x.x升级到3.9.0现在我有一个问题挂钩(后)

这是我的问题:

app.service('duties').patch(id, { $set: { status: 0 }}, {});

我有以下代码在我的挂钩后:

var query = { "duties._id": result._id }
hook.app.service('parents').patch(null, { $set: { "duties.$.status": 0 } }, { query });

在以前的版本中,这很好,现在我在控制台中收到一个错误:

error: MethodNotAllowed: Can not patch multiple entries

我该如何解决我的问题?

为了提高开箱即用的安全性,默认情况下已禁用创建、删除和修改多个条目,并且必须使用multi选项启用(并明确保护)。迁移说明可以在crow.docs.feathersjs.com/migration.html#数据库适配器:中找到

const service = require('feathers-<database>');
// Allow multi create, patch and remove
service({
multi: true
});
// Only allow create with an array
service({
multi: [ 'create' ]
});
// Only allow multi patch and remove (with `id` set to `null`)
service({
multi: [ 'patch', 'remove' ]
});

请记住,当启用多个removepatch请求时,必须限制允许的查询(例如,基于已验证的用户id),否则可能会删除或修补数据库中的每个记录。

可以在此处更正/启用(例如补丁)

\ @Src/services/[name]/[name].service.js
.
.
.
module.exports = function(app) {
Const options = {
Model: createModel(app),
Paginate: app.get('paginate'),
multi: ['patch']
};
.
.
.
},

相关内容

  • 没有找到相关文章

最新更新