问题标签 [feathers-hook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1002 浏览

javascript - 如何避免使用feathers.js在挂钩中多次运行服务?

我在羽毛钩的羽毛服务中遇到问题。确切的问题是我在羽毛钩子中使用羽毛服务,当我在钩子中调用服务时,它会运行多次,这样就会发生内存问题。我的问题是如何避免服务在挂钩中多次运行。

我预期的解决方案是服务应该在挂钩上单次运行。

0 投票
0 回答
51 浏览

geospatial - 如何使用 feathersjs 存储 rethinkdb 几何点?

我将feathersjs 与feathers-rethinkdb一起使用,并尝试使用我的服务的create 方法在数据库中存储一个点。我创建了这个钩子来将 json 转换为 rethinkdb 点:

但是当我发出一个创建点的 POST 请求并且正在执行该钩子时,我的后端返回此错误:

如果我检查数据库,该点被创建为rethinkdb点,我可以进行地理空间查询,所以一切似乎都很好,但我想停止发送该消息错误,并且我想知道我在做什么做错了。

非常感谢。

0 投票
1 回答
154 浏览

postgresql - 羽毛续集是如何工作的

我在前端使用 angular2,在后端使用节点/羽毛,而不是 Postgres(续集)数据库。

  1. 在后端,我在“.../events”路由上有事件服务,我试图从数据库中获取数据,当我想检索所有事件时它工作正常,所以我只是在这条路由上发出请求..或者当我只想检索一个具有特定 id 的事件(在“../events/>>id<< 上发出请求)。但是如何通过其他属性获取数据,例如我有用户及其与事件一对多的关联,那么我将如何检索一个用户的所有事件(按用户 ID 搜索,而不是按事件 ID 搜索)。或任何其他属性,例如按名称,返回具有特定名称的所有事件。这将如何工作,任何代码示例?

  2. 在事件模型中,我与用户的关系是一对多的(事件有创建者),并且我将该连接作为 events.belongsTo(user)。我如何才能补充说,同一事件与用户也有多对多的关系,因为它还将“参与者”作为用户也包含在该事件中,并且每个用户都可以参与或拥有许多事件。

0 投票
1 回答
339 浏览

feathersjs - 如何从passport-facebook读取用户信息

我已经通过以下方式实现了启用 facebook 身份验证的代码:

如果我在其中调试代码执行,node_modules/passport-facebook/lib/strategy.js我可以看到所有用户配置文件字段都已检索(姓名、电子邮件、性别...),但我还没有弄清楚如何将这些值传递给钩子以便将其存储到数据库中.

有谁知道如何将这些值传递给身份验证服务/挂钩以存储它们?

0 投票
0 回答
1143 浏览

node.js - Feathersjs -> 使用动态过滤器和列选择服务查找

所以这不是一个真正的问题,更多的是关于我如何解决这种特定情况的帖子:

期望的情况

我希望能够从 feathersjsfind服务调用中选择数据。但是,我不想返回所有列,而是根据情况返回不同的列,并且在结果中也有关联的模型。如果这还不够,我需要传递要在整个选择中使用的过滤条件。此外,它不是在客户端完成,并且尽可能少,因此操作不会有风险

开发的解决方案

这是我想出的解决方案。我正在使用 vuex 从客户端进行 api 调用,在后端我使用 feathers-custom-methods 来提供一个包含多种方法的服务,因此我可以将它捆绑在每个模块中,我称之为这些 services helper.service。因此,例如terms使用一种方法getSectionTerms为特定站点部分进行基本选择,getTerms用于管理(返回所有内容)。我没有详细描述每一步,但以后可能会这样做。

第 1 步:按照初始文档中的说明安装 feathers-custom-methods

第 2 步:创建服务文件。我的是这样的。

文件中的第一部分是制作服务本身。create并且setup需要让它工作。然后你可以添加你需要的任意数量的方法。由于我将重复这种类型的数据选择,但需要不同的列和过滤器,因此我创建了一个函数来调用初始的 featherjs 服务查找方法。这是第二部分。它的配置方式使您无需多次重写。好的,我需要在这里和那里添加一些检查并使用默认值进行设置,以防未传递参数。

第 3 步:配置要使用的服务。我在我的index.js文件

在这个文件中,我将向数组中添加更多选项,helper_terms我在步骤 2 的文件中创建另一个条目。

第四步:配置客户端。在我的情况下,通过 vuex 商店调用

这会将过滤条件传递给后端。我仍然用更多选项来改变它,但它现在正在工作。我将一个对象传递给后端,其中包含任意数量的过滤器,例如is_active: 0language: 'en'

Step 5在某处调用vuex函数获取数据

0 投票
1 回答
844 浏览

node.js - 如何处理 feathersjs 钩子内的承诺?

我想在插入数据库之前验证数据。Feathersjs 的方式是使用钩子。在插入一组权限之前,我必须考虑用户帖子提供的数据的完整性。我的解决方案是找到与用户提供的数据相关的所有权限。通过比较列表的长度,我可以证明数据是否正确。钩子的代码贴在下面:

我评论了处理其他参数的一些信息以填充inIds数组的行。我还对与存储在数组中的信息关联的对象进行了均衡搜索。

块内的这个then块在后台执行。在 feathersjs 控制台上显示结果

代码执行

但是,数据已插入数据库。

如何从在 feathersjs 钩子中执行的承诺返回数据?

0 投票
1 回答
869 浏览

javascript - 要在 MongoDB 上更新文档中的单个字段,最好的方法是什么?Feathersjs 中的更新或补丁钩子

我正在尝试在单个字段中更新 mongodb 文档,我怀疑我想使用哪种方法来使用补丁或使用羽毛框架进行更新,请举例说明我们如何做到这一点。

0 投票
1 回答
550 浏览

node.js - 使用 express 将 tus-node-server 集成到 feathersjs 中

我有一个现有且正常工作的 Feathers 项目位于最新的 Feathers cli(“Buzzard”)结构中。现在我正在尝试添加tus-node-server作为上传服务器。您可以在链接中找到他们将其设置为快速中间件的说明如下:

按照这些说明,我尝试将其添加到我的 app.js 文件中:

为了完整起见,我给出了整个 app.js 文件:

我收到此错误:

这应该如何设置?如何将这个最好地融入 Feathers?从这里我得到的印象是服务和挂钩设置比作为中间件的设置更可取!?

0 投票
1 回答
700 浏览

feathersjs - 羽毛js中的结构restrictToOwner和restrictToRoles

我已经阅读了文档,但我似乎无法正确理解。

我正在尝试实现一个 restrictToOwner 和 restrictToRoles 以便具有管理员或超级管理员角色的用户可以访问此服务中的所有其他方法

0 投票
1 回答
933 浏览

feathersjs - 使用feathers-client和sequelize多对多关系

我正在尝试使用羽毛从 n:m 关联中获取数据。我正在为我的前端使用 react 并使用羽毛客户端和 socketio 连接到羽毛。

但是当我使用 myService.find() 时,包含参数会从 hook.params 中删除

当我在我的 before 钩子中配置它时,它工作正常,但是每次我们使用的服务时,所有表都会连接在一起。所以我想在查询中指定要包含哪些表。像这样

提前致谢