Node.js 如何从数据库中获取数据?

Node.js 如何从数据库中获取数据?,node.js,typescript,typeorm,Node.js,Typescript,Typeorm,已经创建了一个数据库。我想从那里得到数据。 当我仅为测试执行查询时,它总是给出一个空值: { "users": [] } 为什么会这样 实体: import {Entity, PrimaryGeneratedColumn, Column} from "typeorm"; @Entity() export class User { @PrimaryGeneratedColumn("uuid") user_id: number; @Column("varchar2"

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

{
    "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;

确保您的实体引用了正确的表。您没有在实体声明中显式提供名称,因此默认情况下将使用单数形式的user,而不是复数形式的users

如果您的表实际上被称为用户,则需要在@Entity decorator中提供:

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

有没有办法让这成为默认行为?我觉得这是一个标准模式。模型中为单数,表中为复数。