问题标签 [loopback4]

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

loopbackjs - LoopBack v4 中对其他微服务的强类型调用

我目前正在评估 LoopBack 对于未来基于微服务的项目的适用性。此外,我是 LoopBack 的新手,如果对 Loopback 的概念有误解,请纠正我。

有时,您需要一个聚合器微服务来调用其他几个微服务。是否可以生成类似于命令的强类型客户端库存根(以 a 的形式) ?Servicelb4 openapi

如果不是,那么使用 TypeScript(如广告所示)的意义何在,当必须使用这些示例(1) (2)中所示的纯 JavaScript 时?

还有一个选项可以使用现有服务中的 OpenAPI 规范文件吗?

在我看来,这对于带有 TypeScript 的 LoopBack v4 来说是一个“未知领域”。

0 投票
2 回答
999 浏览

mysql - MySQL 关系中的 Loopback 4 和约束

我正在进入 Loopback 4,来自 Sequelize,并且对 TypeORM 有一些经验。

我的问题是为什么在 Loopback 4 中关系没有受到约束。我看过https://loopback.io/doc/en/lb4/todo-list-tutorial-sqldb.html#specify-the-foreign-key-constraints-in-todo-model,但我不明白为什么它不会自动执行,或者如果我做错了什么。

让我们看一个具有相同模型的三个 ORMS 示例:一个User模型可以有很多Post

续集:

用户:

邮政:

MYSQL 中的结果:

好的,约束在那里。

现在让我们尝试使用 TypeORM:

类型ORM:

用户:

邮政:

这是 MySQL 中的结果:

一切都好,那里有限制。现在使用环回 4。

环回4:

模型、存储库、控制器和关系由 cli 生成,但我只会发布模型:

用户:

邮政:

和 MySQL:

如您所见,那里没有任何限制。难道我做错了什么?这是预期的行为吗?

0 投票
1 回答
60 浏览

mongodb - Loopback/mongodb:查找所有共享某项技能的工作

我有一系列具有一定技能的工作。请看下面的图片。

在此处输入图像描述

如您所见,每个“工作”对象都有一个“技能”数组。技能在不同的工作之间共享,因此我需要编写一个获取请求,以便当用户单击一项技能时,它会显示需要该技能的不同工作。你能帮我解决这个问题吗?我写了一个代码,但它不起作用。

总共有 32 个文档,每个文档看起来像这样。它有一个工作名称和一系列技能。

有些工作具有相同的技能。例如 IT 业务分析师和业务分析师。

在此处输入图像描述 在此处输入图像描述

虽然有些工作只分享犹太人的。例如,业务分析师和技术经理共享“沟通”技能。

在此处输入图像描述 在此处输入图像描述

输出是共享相同技能的文档数组。例如“业务分析师”和“技术经理”对象的数组,因为它们共享“沟通”技能。

0 投票
2 回答
500 浏览

typescript - LoopBack4:访问拦截器内的存储库

我想在我的 LoopBack4 应用程序中增强一个拦截器,它目前只是在命令行上打印控制器方法调用的开始和结束 - 如下所述:https ://loopback.io/doc/en/lb4/拦截器.html

我的日志拦截器看起来像这样:

现在我想增强这个拦截器,以便将一些统计数据记录到我的 MySQL 数据源中。我的问题是,如何访问拦截器内的存储库?我是否必须注入存储库,如果是,我该怎么做?还是有更好的方法来实现这一目标?

0 投票
1 回答
1486 浏览

asynchronous - 带有四个嵌套循环的异步等待

我目前正在尝试返回一个 JSON 对象数组,该数组需要我执行一个异步函数,然后执行四个嵌套的异步映射函数以填充实体数组。基本上,每个用户都有一个订单数组,每个订单都有一个项目数组,每个项目都有一个选项数组,每个选项都有一个值数组。我正在使用 loopback4 框架,因此一旦填充了所有内容,就无法执行 res.send。该函数似乎在第一次等待时返回,但之后的任何等待,它都不会等待它,而是运行到函数的末尾。我曾尝试使用 Promises 和 .thens(),但似乎无法弄清楚如何填充完全嵌套的每个实体,然后返回填充的实体数组。我不断得到一个空数组。下面只有一窝地图,但我什至无法让它填充到第一个巢穴并返回它,所以我决定不再继续。这是代码:

该函数在 orderFrameArray 被填充之前返回。我需要四个嵌套的地图循环,而第一个不工作,所以我不知道如何做剩下的。任何帮助将不胜感激。

基于@Tomalaks 解决方案,我尝试了以下方法,但它仍然只返回顶级数组并且没有嵌套:

我为格式化道歉,我不确定如何最好地格式化它。还有什么我做错了吗?

感谢大家的回复。@Tomalak 发布的答案是正确的。我只需要将整个函数括在括号中,然后放一个 .then 来返回我制作的填充实体

0 投票
2 回答
337 浏览

typescript - 如何将“then”回调函数的结果返回到 loopback 4 控制器

我正在尝试在我的 loopback4 控制器内的 TypeORM 实体上执行“查找”功能。

问题是,根据 TypeORM 文档,我已经在附加到“createConnection”函数的“then”回调函数中执行了查询。因此,“findOne”调用的结果超出了控制器方法的范围

我也尝试过以下方法,但我会知道如何在没有 async/await 的情况下进行管理

先感谢您

0 投票
1 回答
1030 浏览

node.js - 如何修复:使用 TypeORM 和 Loopback4 查询 Oracle 时,ORA-00942:表或视图不存在

我正在尝试使用 Loopback4 和 TypeORM 查询 Oracle 表,但我 ORA-00942:表或视图不存在。Morover,过了一会儿,我得到另一个像这样的错误:

'无法创建一个名为“默认”的新连接,因为具有该名称的连接已经存在,并且它现在有一个活动的连接会话。

我是 Loopback4 和 Nodejs - Typescript 的新手,所以我在控制器内部调用了 createConnection 方法。

也许我应该在某个集中的地方调用它,但我不知道在哪里以及如何将它集中在我的项目中。

这是我的实体

我的控制器方法

谢谢你

0 投票
1 回答
1907 浏览

javascript - 如何使用包含键在 LoopBack v4 中建立关系

https://loopback.io/doc/en/lb4/HasMany-relation.html

我按照这些步骤操作,然后尝试获取数据,include但我得到了 500。


我想要的是获得具有相关等级的游戏对象。

等级模型

游戏模型

游戏控制器

0 投票
3 回答
1008 浏览

dotenv - Loopback 4 上的 dotenv 配置

如何在with或其他包上配置.env文件以从全局访问?loopback 4dotenvprocess.env.VAR

我尝试继续,application.ts但它给出了undefined.

我也加入.envroot/src但没有成功。

0 投票
1 回答
76 浏览

has-many - 如何使用 hasMany 关系发布模型

我正在使用 LoopBack 4 及其 mysql 连接器设置 api。所以我有一个模型飞机,它与飞行员有@hasMany 关系:

所以现在我想做的是创建一架飞机并在一个请求中添加它的飞行员。在我的飞机存储库中,我做了这样的事情:

我的控制器看起来像这样:

但是当我尝试用类似的东西调用我的路线时

我有一个 422 错误:

Plane实例无效。详细信息:pilots模型中未定义(值:未定义)。”

我不知道这是否是预期的行为,我必须承认我对关系的运作方式有点困惑,但如果是,那我该怎么做。