在 TypeORM 中从数据库 table 中找到一个实体

Find one entity from database table in TypeORM

我在我的 express.js 项目中使用 TypeORM。

我想知道在 TypeORM 中,如何在不提供任何条件的情况下从数据库中找到一个实体,我只需要从数据库中获取一个实例 table。

例如,我有一个 students table 映射到 Student 实体。我试过了:

const student = await Student.find()[0];

但它不起作用。有什么建议吗?

P.S。找到学生后,我需要访问其 ID,例如const sid = student.id

我正在使用 sid 构建数据作为响应的有效载荷。例如const payload={'student_id': sid, ...}

您可以通过将空对象作为参数传递来尝试使用 findOne 方法。

const student = await Student.findOne({})

您也可以使用当前的方法,但必须确保在访问数组索引之前将 await 括在括号中。

const student = (await Student.find())[0];

但请注意,find() 将读取所有数据库,而 findOne() 只会读取一次。

更新 为避免类型问题,您可以添加类型保护。

if(!student){
  // return or send error as response.
return;
}