我正在构建一个小型的全栈系统(typescript,express,NodeJs),在其中一个路由中,用户可以根据所选的影院请求电影,以下是具体的服务:
async function getMoviesByTheatreId(theatreId : number) : Promise<MovieModel[]> {
// SQL:
const sql = 'SELECT * FROM movies where theatreId = ?;'
// Call dal:
const movies = await dal.execute(sql ,[theatreId]);
// Return:
return movies;
}
- clarification* MYSQL数据库中有两个表- theatres和movies。它们共享一个外键,该外键引用theatres表中的“theatreId”列。外键是movies表中的外键。
现在,有可能用户会发送一些不存在的theatreId,在这种情况下,我想抛出新的ResourceNotFoundError。然而,也有可能theatreId确实存在,但没有任何电影匹配这个剧院。在这种情况下,我不想抛出那个错误。我也希望它在表演方面是好的,因为使用多个查询检查数据库会减慢整个过程。
1条答案
按热度按时间xv8emn3q1#
首先,在查询movies表之前,检查theatres表中是否存在提供了
theatreId
的影院。然后,您可以查询电影。下面是示例代码: