TypeORM provides multiple ways to query data:
-
Repository.find(): The simplest query method
- find(): Query all records
- findOne(): Query a single record
- findBy(): Query based on conditions
- findOneBy(): Query a single record based on conditions
-
QueryBuilder: More flexible query builder
- Supports complex query conditions
- Can be chained
- Example: createQueryBuilder('user').where('user.age > :age', { age: 18 }).getMany()
-
FindOptions: Type-safe query options
- select: Specify returned fields
- where: Query conditions
- relations: Load related data
- order: Sorting
- skip/take: Pagination
-
Raw SQL queries: Use the query() method to execute native SQL
It's recommended to prioritize using Repository.find() or FindOptions, as they provide better type safety and readability. Use QueryBuilder for complex queries.