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 { ... }
有没有办法让这成为默认行为?我觉得这是一个标准模式。模型中为单数,表中为复数。