本文首发于个人博客 Cyy’s Blog
转载请注明出处 https://cyyjs.top/blog/60421b57d67bdd000f281384

# 是否需要手动建库建表?

数据库需要手动创建,但是表可以根据实体类自动生成。

# 能否根据数据表,自动生成实体类?

答案是,能。已经有人写了相关的生成库,可参考typeorm-model-generator

# Mysql中定义的bigint查询出来为什么成了字符串类型?

这是因为最初JavaScript不支持BigInt类型,范围为-2^532^53,而MySQLBigInt范围为-2^632^63-1,超出了JavaScript支持的范围,所以自动将其转为了字符串。不过可以通过修改数据库连接配置,使其展示为数字, 参考

bigNumberStrings: false

# 如何查询展示指定字段?

默认使用查询会返回所有字段,如下所示:

this.usersRepository.find({
    is_delete: IS_DELETE.NO
})

可使用以下方式,查询返回指定的字段:

this.usersRepository.find({
    select: ['id', 'parent_id', 'title'],
    where: {
      is_delete: IS_DELETE.NO
    }
})