如何从数据库中获取数据?

How to get data from the DB?

有一个已经创建的数据库。我想从那里获取数据。 当我仅为测试执行查询时,它总是给出一个空值:

{
    "users": []
}

为什么会这样?

实体:

import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";

@Entity()

export class User {

    @PrimaryGeneratedColumn("uuid") user_id: number;

    @Column("varchar2", { length: 100 }) login: string;

    @Column("varchar2", { length: 100 }) email: string;

    @Column("varchar2", { length: 50 }) phone: string;

    @Column() roles_id: number;

    @Column("varchar2", { length: 500 }) password: string;
}

控制器:

import { Request, Response } from "express";
import { User } from "../entity/User";
import { getRepository } from "typeorm";

class UserController {

    public async getUsers(req: Request, res: Response) {
        let users = await getRepository(User).find();
        await res.status(200).json({ users: users })
    } 
}

const userController = new UserController();

export default userController;

确保您的实体指的是正确的 table。您没有在实体声明中明确提供 name,因此默认值为 user(单数形式,而不是 user(s) 复数形式)。

如果你的 table 实际上叫做 users,你需要在 @Entity 装饰器中提供:

@Entity({ name: 'users' })
export class User { ... }