Why after upgrade feathersjs I receive error: MethodNotAllowed
Why after upgrade feathersjs I receive error: MethodNotAllowed
我将我的 feathersjs 版本从 2.x.x 升级到了 3.9.0
现在我遇到了 hooks 的问题(之后)
这是我的查询:
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/migrating.html#database-adapters:
找到迁移说明
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' ]
});
请记住,当启用多个 remove
或 patch
请求时,必须限制允许的查询(例如,基于经过身份验证的用户 ID),否则可能会删除或修补每个记录在数据库中。
这里可以是corrected/enabled(例如补丁)
\ @Src/services/[name]/[name].service.js
.
.
.
module.exports = function(app) {
Const options = {
Model: createModel(app),
Paginate: app.get('paginate'),
multi: ['patch']
};
.
.
.
},
我将我的 feathersjs 版本从 2.x.x 升级到了 3.9.0 现在我遇到了 hooks 的问题(之后)
这是我的查询:
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/migrating.html#database-adapters:
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' ]
});
请记住,当启用多个 remove
或 patch
请求时,必须限制允许的查询(例如,基于经过身份验证的用户 ID),否则可能会删除或修补每个记录在数据库中。
这里可以是corrected/enabled(例如补丁)
\ @Src/services/[name]/[name].service.js
.
.
.
module.exports = function(app) {
Const options = {
Model: createModel(app),
Paginate: app.get('paginate'),
multi: ['patch']
};
.
.
.
},