如何从数据库获取数据?

时间:2019-07-12 03:52:19

标签: node.js typescript typeorm

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

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

1 个答案:

答案 0 :(得分:0)

确保您的实体引用了正确的表。您没有在实体声明中明确提供 <View> <Image source={{ uri: item.photo }} /> </View> ,因此默认值为name(单数形式,而不是user复数形式)。

如果您的表实际上叫做user(s),则需要在users装饰器中提供它:

@Entity