自定义 cli 生成的 feathersjs 服务
Customize cli-generated feathersjs services
我正在写一个 api 来尝试 featherjs 及其 mongoose 适配器。我希望我的 GET /books/
端点仅 return 本书 private
属性设置为 false。我应该使用 before 挂钩吗?如果是这样,我如何防止用户在我的端点中进行 运行 自定义查询?我应该手动清空 params
对象吗?
您需要在 之前创建一个 挂钩 books.hooks.js
const books_qry = require('../../hooks/books_qry');
module.exports = {
before: {
all: [],
find: [books_qry()],
...
创建/src/hooks/books_qry.js
module.exports = function () {
return function (context) {
//You have 2 choices to change the context.params.query
//overwrite any request for a custom query
context.params.query = { private: false };
//or add a query param to the request for a custom query
context.params.query.private = false
//check the updated context.params.query
console.log(context.params.query);
return context;
}
}
Select您需要的选择之一。由于我目前从未使用过 mongoose,请查看文档以创建有效查询(顺便说一句,上面的示例适用于 mongodb 适配器)
我正在写一个 api 来尝试 featherjs 及其 mongoose 适配器。我希望我的 GET /books/
端点仅 return 本书 private
属性设置为 false。我应该使用 before 挂钩吗?如果是这样,我如何防止用户在我的端点中进行 运行 自定义查询?我应该手动清空 params
对象吗?
您需要在 之前创建一个 挂钩 books.hooks.js
const books_qry = require('../../hooks/books_qry');
module.exports = {
before: {
all: [],
find: [books_qry()],
...
创建/src/hooks/books_qry.js
module.exports = function () {
return function (context) {
//You have 2 choices to change the context.params.query
//overwrite any request for a custom query
context.params.query = { private: false };
//or add a query param to the request for a custom query
context.params.query.private = false
//check the updated context.params.query
console.log(context.params.query);
return context;
}
}
Select您需要的选择之一。由于我目前从未使用过 mongoose,请查看文档以创建有效查询(顺便说一句,上面的示例适用于 mongodb 适配器)