Nestjs中使用TypeORM常见问题
本文首发于个人博客 Cyy’s Blog
转载请注明出处 https://cyyjs.top/blog/60421b57d67bdd000f281384
# 是否需要手动建库建表?
数据库需要手动创建,但是表可以根据实体类自动生成。
# 能否根据数据表,自动生成实体类?
答案是,能。已经有人写了相关的生成库,可参考typeorm-model-generator
# Mysql中定义的bigint
查询出来为什么成了字符串类型?
这是因为最初JavaScript
不支持BigInt
类型,范围为-2^53
到2^53
,而MySQL
中BigInt
范围为-2^63
到2^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
}
})