问题标签 [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.

0 投票
0 回答
103 浏览

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 如下所示:

0 投票
1 回答
1303 浏览

javascript - FeathersJS Sequelize - 关联不起作用

我目前正在使用 Sequelize => 4.0 并且发现将 2 个模型链接在一起并不能像我想象的那样工作。

基本上,我有 2 个模型:用户和打孔。

用户: id 姓名 电子邮件

打孔:id userId <-用户id时间状态

我想显示用户列表及其链接的拳头。

这是我在每个模型下的 .associate 函数:

这是正确的方法吗?还有什么我需要做的。当我查看用户 GET 请求时,除了用户数据之外,我没有看到任何其他内容。

任何帮助将不胜感激 :)

0 投票
1 回答
817 浏览

javascript - Feathersjs:如何发送响应,然后触发一个函数?

我有一些代码适用于 REST 端点,其中消息是:

  1. 在数据库中创建
  2. 步骤A已处理
  3. 当stepA正常时,返回响应消息
  4. 步骤B已处理。

这是代码:

现在我正在尝试使用 feathersjs,但我不知道如何准确地执行 2、3、4。

我现在有一个用于消息服务的 create 方法的 AFTER 钩子:

所以我的问题归结为:如何发送响应并随后使用 feathersjs 触发“myProcess stepB”?

尽管是“遗产”,但我认为它可能仍然相关。

0 投票
1 回答
154 浏览

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

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

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

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

0 投票
0 回答
104 浏览

mysql - 为什么表之间的关系不起作用?[FeathersJS - 续集]

我有: - 框架Feathers ^2.2.3 - ORM sequelize (feathers-sequelize ^2.3.2) - MySQL 数据库 - 2 个表(它们之间应该可以通信)

在文件category.model.js中描述关系:

现在,如果您打开localhost:3030/category,则会显示此查询的结果:

尝试使用localhost:3030/category?$select[]=translate来访问链接表中的字段,但出现错误。

我做错了什么?如何从当前模型的另一个链接表中访问数据?

预先感谢您的回答!

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 回答
87 浏览

javascript - 如何访问羽毛续集对象上的 .setup 函数?

我想在另一个服务后面嵌套一个服务,就像常见问题解答这个问题中描述的那样

据我了解,您需要该.setup属性才能访问该app对象,您可以在该对象上添加一个链接到您的服务的侦听器。到目前为止,一切都很好。

但是,我需要在其上执行此操作的服务不是自定义服务,其setup属性随时可用,而是一种feathers-sequelize服务,它似乎是在其他地方构建的,.class.js 甚至不存在。

环顾四周,我发现您仍然可以使用原型访问该属性,但并不是我在不知道它是否受支持的情况下修改它时保持沉默。

TL:DR: 如何将羽毛续集服务嵌套在另一个服务后面?

0 投票
1 回答
183 浏览

javascript - Sequelizejs:没有从关联中自动生成方法

我正在尝试使用带有 sequelize 的 feathersjs 设置 am:n 关联。我正在遵循这个“说明”,但必须适应更新feathersjs同时经历。

我将已创建的用户与已创建的项目相关联的钩子:

我得到:

在我的用户模型定义下,我将关联设置为:

在项目模型定义下:

为什么 addMyusers 不存在?建立关联时应该自动生成这样的方法吗?

续集文档中所述:

这会将方法 getUsers、setUsers、addUser、addUsers 添加到 Project,并将 getProjects、setProjects、addProject 和 addProjects 添加到 User。

0 投票
1 回答
844 浏览

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

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

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

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

代码执行

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

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

0 投票
0 回答
382 浏览

node.js - feathersjs sequalize Belongs-To-Many 关联无效值

我正在将 Express 应用程序升级到 Feathersjs 应用程序。对于 belongs_to_many 关联,我有以下模型定义:

A类(用户组):

B类(许可):

有了这个定义,我们就可以创建一个组并使用该addPermission/addPermissions方法将权限关联到一个组。

以下代码旨在将权限与组关联

其中Model是 UserGroup 模型类的变量,并且plist是权限列表。

此代码编写在feathers generate service命令生成的服务类中。按照这个建议,我覆盖了 create 方法。目标是使用创建组端点中提供的权限列表。

结果是这个:

拒绝

在下图中我们可以看到异常的原因 堆栈跟踪

如果使用 Express 应用程序相同的代码可以正常工作,那么模型定义有什么问题?