如何将连接用作具有类型的独立对象?

2024-02-21

不工作的代码只是为了说明我想要实现的目标

一些连接文件

import { ConnectionManager } from 'typeorm';

const c = new ConnectionManager();
// user ormconfig.conf file
export const connection = c.createAndConnect();

在某些模型中使用

@Entity()
@Table("annual_incomes")
export class AnnualIncome
{
    @PrimaryGeneratedColumn()
    id: number;

    @Column({ length: 75 })
    variant: string;

    @Column("int")
    sort: number;

    @Column()
    is_active: boolean;
}

后来在代码中的某个地方,我想与所有方法建立连接,例如:

import { connection } from 'someconnection';
import { AnnualIncome } from 'entities';

// some code here

api.get('/incomes', async(ctx) => {
    ctx.body = await connection.getRepository(AnnualIncome).find();
});

通常,我会收到错误tsc that .getRepository()没有找到方法connection。但是,如果我做类似的事情:

import { connection } from 'someconnection';
import { AnnualIncome } from 'entities';

// some code here

api.get('/incomes', async(ctx) => {
    ctx.body = await connection.then(async connection => {
       return await connection.getRepository(AnnualIncome).find();
    }
});

上面的代码适用于定义和tsc不会抱怨不存在的方法。

我想避免额外的定义connection.then()并变得简单connection与定义的所有方法<Connection> type.


只需使用createConnection引导应用程序时创建连接的方法。稍后您可以使用以下方式从任何地方访问您的连接getConnection() method:

import { AnnualIncome } from 'entities';
import { createConnection, getConnection } from 'typeorm';

// somewhere in your app, better where you bootstrap express and other things
createConnection(); // read config from ormconfig.json or pass them here

// some code here

api.get('/incomes', async(ctx) => {
    ctx.body = await getConnection().getRepository(AnnualIncome).find();
});

您也可以简单地使用getRepository方法也可以从任何地方使用:

import { AnnualIncome } from 'entities';
import { getRepository } from 'typeorm';

// some code here

api.get('/incomes', async (ctx) => {
    ctx.body = await getRepository(AnnualIncome).find();
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将连接用作具有类型的独立对象? 的相关文章

  • Node.js 有水豚吗?

    有谁知道 Node js 是否有类似 capybara 的东西 怎么样Zombie http zombie labnotes org 僵尸 js 使用 Node js 进行极其快速的无头全栈测试 The Bite 如果你要编写一个速度极快的
  • 以html格式显示npm审计漏洞

    有没有办法将 npm 审计报告显示为 html 页面 目前我只能看到使用以下命令以 json 格式输出报告的选项 npm audit json 我写了一个NPM包 https www npmjs com package npm audit
  • 如何从控制器返回 PDF 文件

    我正在尝试使用 NestJs 从控制器端点返回 PDF 文件 未设置时Content typeheader 返回的数据getDocumentFile 很好地返回给用户 然而 当我添加标头时 我得到的返回似乎是某种奇怪形式的 GUID 响应总
  • Visual Studio 代码断点在使用 TypeScript 的 Node.js 上不起作用

    我尝试了很多解决方案 但没有人适合我 代码执行 但我无法放置断点并调试它 请你帮助我好吗 我尝试过以下 VSCode 配置脚本 type node request launch name Typescript Node JS program
  • 如何检测和测量 Node.js 中的事件循环阻塞?

    我想监视 node js 中事件循环每次运行需要多长时间 但是我不确定衡量这一点的最佳方法 我能想到的最好的方法是这样的 var interval 500 var interval setInterval function var last
  • 节点:使用 Nodemailer 的直通流

    我正在使用officegen 生成一个Word 文档 然后计划使用Nodemailer 和Sendgrid 将其附加到电子邮件中 Officegen 输出一个流 但我更愿意将其直接传递到附件 而不是在本地保存 Word 文档然后附加它 Ge
  • 使用端口 80 的 AWS Elastic Beanstalk 上的 WebSocket 问题

    我正在将一个 node js 应用程序从 Heroku 迁移到在端口 80 上使用 WebSocket 的 AWS Elastic Beanstalk WebSocket 在 AWS Elastic Beanstalk 上返回 301 错误
  • Sequelize.js - “不关联到”

    我在从数据库获取完整数据时遇到一些问题 那是我的模型 User module exports function sequelize DataTypes return sequelize define user id type DataTyp
  • socket.io 作为客户端

    有什么方法可以将socketio作为客户端运行 不是浏览器 而是nodejs脚本 我需要将数据从服务器广播到一些客户端 浏览器 和另一台linux机器 仅运行nodejs来获取变量 没有浏览器 欢迎任何想法 Regards github上有
  • Docker Compose 无法连接到数据库

    我使用 Nestjs 作为后端 并使用 typeorm 作为 ORM 我尝试在 docker compose 文件中定义我的数据库和应用程序 如果我将数据库作为容器运行 并从本地计算机运行应用程序 那么它运行良好 我的程序连接并创建表等 但
  • NodeJS:调用 global.gc() 不会将内存减少到最低限度?

    为了调查内存泄漏 我设置了一条触发的路线global gc 在每个POST gc app post gc function req res global gc 但是 我注意到 如果我发送垃圾邮件此请求 每次都会越来越多地减少内存使用量 不应
  • 为什么此 HTTP 请求在 AWS Lambda 上不起作用?

    我正在开始使用 AWS Lambda 并尝试从我的处理程序函数请求外部服务 根据这个答案 https stackoverflow com a 27932216 473467 HTTP 请求应该可以正常工作 而且我还没有找到任何其他说明的文档
  • Apache + Symfony2 + HTTPS + Node.js + Socket.io:socket.emit 未触发

    我花了几个小时来解决这个问题 但毫无结果 编辑 找到解决方案 参见我的答案 项目背景 我正在构建一个项目Symfony2 这需要一个用于上传大文件的模块 我选择了Node js and Socket IO 我必须从头开始学习 所以我可能会错
  • Android socket.io应用程序无法连接到node.js服务器

    我的应用程序使用socket io 无法连接到node js 服务器 服务器节点 js var app require http createServer var io require socket io app app listen 10
  • 从自己的 gitlab 服务器安装节点模块

    我想从我们的 gitlab 服务器安装节点模块 这是存储库的链接 http ABCD GITLAB myGroup myNodeModule git http ABCD GITLAB myGroup myNodeModule git 根据n
  • 从 Nodejs 提供二进制/缓冲区/base64 数据

    我在从节点提供二进制数据时遇到问题 我开发了一个名为的节点模块节点说话它执行 TTS 文本到语音 并返回 Base64 编码的音频文件 到目前为止 我这样做是为了转换base64到缓冲区 二进制文件 然后提供它 var src Base64
  • 如何使用javascript将大图像转换为十六进制?

    如果我尝试将图像转换为十六进制 无论我使用哪个函数 我都会收到此错误消息 该图像的大小为 7 MB 19812 毫秒 清理 1401 2 1455 0 gt 1401 2 1455 0 MB 9 9 0 ms 自上次 GC 以来 8 3 m
  • 从数据库检查数据的异步解决方案各种循环子句

    我想要做的是异步检查数据库并从中获取结果 在我的应用程序中我试图实现Asynchronously将此步骤解决为 从数据库中检查手机号码JsonArray循环子句的种类 Create JsonArray从结果 打印创建的数组 我学到了足够多的
  • 在 MySQL 中存储表情符号的编码问题:如何使用 Prisma ORM 在 NodeJS 中定义字符排序规则?

    亲爱的 Nodejs 专家和数据库专家 我们在 MySQL 数据库中存储表情符号和其他特殊字符时遇到问题 我们使用 Prisma 得到一个错误 这是我们使用的 ORM 参数无法从排序规则 utf8 general ci 转换为 utf8mb
  • 使用 postgres 和 node js 在单个语句中执行多个查询

    我需要在像这样的单个语句中执行插入和删除查询 INSERT INTO COMPANY ID NAME VALUES 1 Paul DELETE FROM COMPANY WHERE ID 12 这是我用于执行查询的 node js 代码 p

随机推荐

  • Rails 应用程序,IIS 8.5 中具有 Windows 身份验证的 REMOTE_USER 属性

    我已经设置了一个 IIS 8 5 服务器 它使用以下命令运行 Rails 应用程序HttpPlatformHandler和 Windows 身份验证 我们还尝试使用 ARR 作为反向代理 结果相同 这一切都工作得很好 用户使用 kerber
  • Ruby 转义 ARGV 参数或字符串作为 shell 命令的参数

    好吧 这让我发疯 ls media music Miles Davis 由于 Miles 和 Davis 之间有空格而失败 假设我编写了一个 ruby 脚本 并且用户将文件路径作为参数传递 我如何转义它并提供给 shell out 命令 是
  • canvas toDataURL 未返回完整图像

    我正在构建一个为图像添加水印的 jQuery 插件 是的 我很清楚 javascript html5 水印系统的多重缺点 但现在忽略它 每个图像的基本方法是 将图像粘贴到画布的背景 添加水印图像的数据 将原始图像的 src 替换为画布的 s
  • 在 MATLAB 中从 CSV 文件读取日期和时间

    datetime M01 M02 M03 M04 M05 M06 8 15 2009 0 00 5 8 7 8 7 8 7 3 0 7 9 8 15 2009 0 10 7 1 8 1 8 1 7 7 0 8 1 8 15 2009 0 2
  • Angular 6 SyntaxError:JSON.parse 位置 0 处的 JSON 中出现意外标记 <

    我知道这个问题已经被问过 但我找不到任何合适的解决方案 我正在尝试做一个post要求 该 API 需要一个x www form urlencoded正文格式所以我最终这样做了 login account LogAccount Observa
  • Android 加速度计移动球

    我在网络上发布的教程的帮助下开发了一个示例应用程序 我的目标是访问加速计并根据手机方向移动球 我在某种程度上是成功的 但我有两个问题 球超出屏幕范围 球的运动不顺畅 看起来它消失并重新出现在屏幕上 这是我的代码 我需要做些什么改变才能让球像
  • ExtJS 多个监听器

    我有一个属性网格 我想向其中添加多个 渲染后 侦听器 是否可以添加多个相同类型的侦听器 或在一个侦听器中触发多个函数 我试过了 afterrender function function 但它不会触发这两个功能 使用同一事件调用多个函数的另
  • make: *** /lib/modules/2.6.32-279.el6.x86_64/build: 没有这样的文件或目录。停止

    我从他们的网站下载了 RALINK 驱动程序 untar xvf rtl 然后我在其中运行 make 谷歌搜索建议 kernel devel 需要安装 我安装了 kernel devel 软件包 但仍然收到此错误 make lib modu
  • MooTools - 如何使用 getSelected()

    我正在努力学习 MooTools 而且我是一个彻底的 javascript 菜鸟 所以请对我温柔一些 我想做的是在选择特定选项时更改禁用输入字段 类型为文本 的状态 html 看起来有点像这样
  • 画布图像无法在 Chrome 中渲染(适用于 FF4 和 IE9)

    我很困惑 对于我的一生 我不知道为什么这在 Chrome 中不起作用 您可以在此处查看代码 http jsfiddle net corydorning NgXSH http jsfiddle net corydorning NgXSH 当我
  • 将 Python 上下文管理器的迭代器嵌套在“with”中

    我有一个返回上下文管理器的迭代器 我想要一个Pythonicwith语句 模拟几个嵌套的行为with语句 迭代器返回的每个上下文管理器都有一个 有人可能会说 我想要 已弃用的 的概括contextlib nested功能 来自docs ht
  • Define 未在 NodeJS TypeScript 应用程序中定义

    我正在打字稿中开发nodejs应用程序 其中我编写了一个文件server js作为休闲 import express require express import mongoose require mongoose let app expr
  • 如何从 powershell 命令行运行 php 脚本?

    我如何设置我的 powershell 来像这样的命令调用一样运行 php 脚本 php test php 我可以在通过 putty 连接到的工作服务器上执行此操作 但如果我能够直接从我自己的服务器执行这些脚本而不需要运行某些服务器 那就太好
  • 如何将列表中的行插入到QSqlTableModel中?

    下面是我的示例代码 class UI QMainWindow def init self super UI self init uic loadUi tableview ui self self show db QSqlDatabase a
  • 为什么 R 将文件排序为 1 10 100 而不是 1 2 3? [复制]

    这个问题在这里已经有答案了 可能的重复 R 自行对向量进行排序 坏孩子 https stackoverflow com questions 4286299 r sorts a vector on its own accord bad boy
  • IBM .net 驱动程序找不到 db2locale.dll

    我正在尝试将 net 解决方案的 Git 存储库拉到同一台计算机上的另一个文件夹 只是为了确保它有效 在我使用的项目中创建IfxConnections 当我尝试创建一个新的IfxConnection我得到一个DllNotFoundExcep
  • 实现 willDisplay 函数时 UITableViewCell 不取消选择

    我有一个UITableView它显示了几个可用选项供用户选择 我想要的是表始终反映所选的选项 这些选项存储在一个数组中 该数组是与视图控制器分开的类的一部分 我试图使用以下命令在表加载时显示选定的选项tableView tableView
  • jQuery height() 在调整大小时不改变

    我以前从未遇到过这个问题 但我似乎找不到解决方案 所以我希望你们能帮助我 jQuery function setTheHeight if main level1 block attention block content length Ge
  • 如何在 Laravel 中返​​回两次?

    在 Laravel 中有一个函数return back 这将使用户返回到上一页 是否有可能return back 在一个函数中多次返回用户两次或多次 我试过 public function return back return back 但
  • 如何将连接用作具有类型的独立对象?

    不工作的代码只是为了说明我想要实现的目标 一些连接文件 import ConnectionManager from typeorm const c new ConnectionManager user ormconfig conf file