问题标签 [feathers-sequelize]
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.
node.js - HTTP POST 工作,但 GET 失败,羽毛续集标准服务
我正在尝试开始使用 feathers.js 和续集。我正在关注聊天指南,但使用的是 sequelize 而不是默认数据库。我正在使用本地 SQL Server 2016 实例,这就是我的 sequelize 对象的样子:
我已经创建了消息 API 并下载了邮递员 HTTP 示例。
我希望该应用程序能够按照指南中的描述工作——即常规的 CRUD 行为。
发布新消息可以正常工作,并返回预期结果。但是,一旦我执行 GET,我就会收到此错误:
信息:之后:消息-方法:创建信息:之后:消息-方法:创建信息:错误:消息-方法:查找:[Microsoft][SQL Server Native Client 11.0][SQL Server]'OFFSET'附近的语法不正确。错误:SequelizeDatabaseError:[Microsoft][SQL Server Native Client 11.0][SQL Server]'OFFSET' 附近的语法不正确。在 Query.formatError (C:\Users\George\Source\Repos\feathers-app\node_modules\sequelize\lib\dialects\mssql\query.js:322:12) 在 Request.connection.lib.Request [作为回调] (C:\Users\George\Source\Repos\feathers-app\node_modules\sequelize\lib\dialects\mssql\query.js:107:25) 在 Connection.removeRequest (C:\Users\George\Source\Repos\在 context.connection.queryRaw (C:
我不明白为什么其中一种 HTTP 方法可以,而另一种不行?注意 OFFSET 语法错误,生成的 SQL 如下所示:
javascript - FeathersJS Sequelize - 关联不起作用
我目前正在使用 Sequelize => 4.0 并且发现将 2 个模型链接在一起并不能像我想象的那样工作。
基本上,我有 2 个模型:用户和打孔。
用户: id 姓名 电子邮件
打孔:id userId <-用户id时间状态
我想显示用户列表及其链接的拳头。
这是我在每个模型下的 .associate 函数:
这是正确的方法吗?还有什么我需要做的。当我查看用户 GET 请求时,除了用户数据之外,我没有看到任何其他内容。
任何帮助将不胜感激 :)
javascript - Feathersjs:如何发送响应,然后触发一个函数?
我有一些代码适用于 REST 端点,其中消息是:
- 在数据库中创建
- 步骤A已处理
- 当stepA正常时,返回响应消息
- 步骤B已处理。
这是代码:
现在我正在尝试使用 feathersjs,但我不知道如何准确地执行 2、3、4。
我现在有一个用于消息服务的 create 方法的 AFTER 钩子:
所以我的问题归结为:如何发送响应并随后使用 feathersjs 触发“myProcess stepB”?
尽管这是“遗产”,但我认为它可能仍然相关。
postgresql - 羽毛续集是如何工作的
我在前端使用 angular2,在后端使用节点/羽毛,而不是 Postgres(续集)数据库。
在后端,我在“.../events”路由上有事件服务,我试图从数据库中获取数据,当我想检索所有事件时它工作正常,所以我只是在这条路由上发出请求..或者当我只想检索一个具有特定 id 的事件(在“../events/>>id<< 上发出请求)。但是如何通过其他属性获取数据,例如我有用户及其与事件一对多的关联,那么我将如何检索一个用户的所有事件(按用户 ID 搜索,而不是按事件 ID 搜索)。或任何其他属性,例如按名称,返回具有特定名称的所有事件。这将如何工作,任何代码示例?
在事件模型中,我与用户的关系是一对多的(事件有创建者),并且我将该连接作为 events.belongsTo(user)。我如何才能补充说,同一事件与用户也有多对多的关系,因为它还将“参与者”作为用户也包含在该事件中,并且每个用户都可以参与或拥有许多事件。
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: 0
或language: 'en'
Step 5在某处调用vuex函数获取数据
javascript - 如何访问羽毛续集对象上的 .setup 函数?
我想在另一个服务后面嵌套一个服务,就像常见问题解答和这个问题中描述的那样
据我了解,您需要该.setup
属性才能访问该app
对象,您可以在该对象上添加一个链接到您的服务的侦听器。到目前为止,一切都很好。
但是,我需要在其上执行此操作的服务不是自定义服务,其setup
属性随时可用,而是一种feathers-sequelize
服务,它似乎是在其他地方构建的,.class.js 甚至不存在。
环顾四周,我发现您仍然可以使用原型访问该属性,但并不是我在不知道它是否受支持的情况下修改它时保持沉默。
TL:DR: 如何将羽毛续集服务嵌套在另一个服务后面?
node.js - feathersjs sequalize Belongs-To-Many 关联无效值
我正在将 Express 应用程序升级到 Feathersjs 应用程序。对于 belongs_to_many 关联,我有以下模型定义:
A类(用户组):
B类(许可):
有了这个定义,我们就可以创建一个组并使用该addPermission/addPermissions
方法将权限关联到一个组。
以下代码旨在将权限与组关联
其中Model
是 UserGroup 模型类的变量,并且plist
是权限列表。
此代码编写在feathers generate service
命令生成的服务类中。按照这个建议,我覆盖了 create 方法。目标是使用创建组端点中提供的权限列表。
结果是这个:
如果使用 Express 应用程序相同的代码可以正常工作,那么模型定义有什么问题?