问题标签 [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.
loopbackjs - LoopBack v4 中对其他微服务的强类型调用
我目前正在评估 LoopBack 对于未来基于微服务的项目的适用性。此外,我是 LoopBack 的新手,如果对 Loopback 的概念有误解,请纠正我。
有时,您需要一个聚合器微服务来调用其他几个微服务。是否可以生成类似于命令的强类型客户端库存根(以 a 的形式) ?Service
lb4 openapi
如果不是,那么使用 TypeScript(如广告所示)的意义何在,当必须使用这些示例(1) (2)中所示的纯 JavaScript 时?
还有一个选项可以使用现有服务中的 OpenAPI 规范文件吗?
在我看来,这对于带有 TypeScript 的 LoopBack v4 来说是一个“未知领域”。
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:
如您所见,那里没有任何限制。难道我做错了什么?这是预期的行为吗?
typescript - LoopBack4:访问拦截器内的存储库
我想在我的 LoopBack4 应用程序中增强一个拦截器,它目前只是在命令行上打印控制器方法调用的开始和结束 - 如下所述:https ://loopback.io/doc/en/lb4/拦截器.html
我的日志拦截器看起来像这样:
现在我想增强这个拦截器,以便将一些统计数据记录到我的 MySQL 数据源中。我的问题是,如何访问拦截器内的存储库?我是否必须注入存储库,如果是,我该怎么做?还是有更好的方法来实现这一目标?
asynchronous - 带有四个嵌套循环的异步等待
我目前正在尝试返回一个 JSON 对象数组,该数组需要我执行一个异步函数,然后执行四个嵌套的异步映射函数以填充实体数组。基本上,每个用户都有一个订单数组,每个订单都有一个项目数组,每个项目都有一个选项数组,每个选项都有一个值数组。我正在使用 loopback4 框架,因此一旦填充了所有内容,就无法执行 res.send。该函数似乎在第一次等待时返回,但之后的任何等待,它都不会等待它,而是运行到函数的末尾。我曾尝试使用 Promises 和 .thens(),但似乎无法弄清楚如何填充完全嵌套的每个实体,然后返回填充的实体数组。我不断得到一个空数组。下面只有一窝地图,但我什至无法让它填充到第一个巢穴并返回它,所以我决定不再继续。这是代码:
该函数在 orderFrameArray 被填充之前返回。我需要四个嵌套的地图循环,而第一个不工作,所以我不知道如何做剩下的。任何帮助将不胜感激。
基于@Tomalaks 解决方案,我尝试了以下方法,但它仍然只返回顶级数组并且没有嵌套:
我为格式化道歉,我不确定如何最好地格式化它。还有什么我做错了吗?
感谢大家的回复。@Tomalak 发布的答案是正确的。我只需要将整个函数括在括号中,然后放一个 .then 来返回我制作的填充实体
typescript - 如何将“then”回调函数的结果返回到 loopback 4 控制器
我正在尝试在我的 loopback4 控制器内的 TypeORM 实体上执行“查找”功能。
问题是,根据 TypeORM 文档,我已经在附加到“createConnection”函数的“then”回调函数中执行了查询。因此,“findOne”调用的结果超出了控制器方法的范围
我也尝试过以下方法,但我会知道如何在没有 async/await 的情况下进行管理
先感谢您
node.js - 如何修复:使用 TypeORM 和 Loopback4 查询 Oracle 时,ORA-00942:表或视图不存在
我正在尝试使用 Loopback4 和 TypeORM 查询 Oracle 表,但我 ORA-00942:表或视图不存在。Morover,过了一会儿,我得到另一个像这样的错误:
'无法创建一个名为“默认”的新连接,因为具有该名称的连接已经存在,并且它现在有一个活动的连接会话。
我是 Loopback4 和 Nodejs - Typescript 的新手,所以我在控制器内部调用了 createConnection 方法。
也许我应该在某个集中的地方调用它,但我不知道在哪里以及如何将它集中在我的项目中。
这是我的实体
我的控制器方法
谢谢你
javascript - 如何使用包含键在 LoopBack v4 中建立关系
https://loopback.io/doc/en/lb4/HasMany-relation.html
我按照这些步骤操作,然后尝试获取数据,include
但我得到了 500。
我想要的是获得具有相关等级的游戏对象。
等级模型
游戏模型
游戏控制器
dotenv - Loopback 4 上的 dotenv 配置
如何在with或其他包上配置.env
文件以从全局访问?loopback 4
dotenv
process.env.VAR
我尝试继续,application.ts
但它给出了undefined
.
我也加入.env
了root
,/src
但没有成功。
has-many - 如何使用 hasMany 关系发布模型
我正在使用 LoopBack 4 及其 mysql 连接器设置 api。所以我有一个模型飞机,它与飞行员有@hasMany 关系:
所以现在我想做的是创建一架飞机并在一个请求中添加它的飞行员。在我的飞机存储库中,我做了这样的事情:
我的控制器看起来像这样:
但是当我尝试用类似的东西调用我的路线时
我有一个 422 错误:
“
Plane
实例无效。详细信息:pilots
模型中未定义(值:未定义)。”
我不知道这是否是预期的行为,我必须承认我对关系的运作方式有点困惑,但如果是,那我该怎么做。