Olá,
Desenvolvi o livrosController.js de forma um pouco diferente. Utilizei o try/catch e criei os métodos de forma assíncrona. Dessa forma também estaria correto ou teria alguma diferença onde não seria viável desenvolver dessa forma? Ainda estou procurando entender melhor quando o código deve ser assíncrono e se neste caso é interessante utiliza-lo.
import livros from '../models/Livro.js'
class LivroController {
    static listarLivros = async (req, res) => {
        try{
            const pegaTodosLivros = await livros.find()
            res.status(200).json(pegaTodosLivros)
        }catch(err){
            res.status(500).json({menssage: `${err.message} - Falha ao localizar livros.`})
        }
    }
    static listaLivrosPorId = async (req, res) => {
        const {id} = req.params.id
        try{
            const livroPorId = await livros.findOne(id);
            res.status(200).json(livroPorId)
        }catch(err){
            res.status(400).json({menssage: `${err.message} - Falha ao localizar Id do livro.`})
        }
    }
    static adicionaLivro = async (req, res) => {
        let livroAdicionado = new livros (req.body)
        try{
            await livros.create(livroAdicionado)
            res.status(200).send('Livro adicionado com sucesso.')
        }catch(err){
            res.status(500).json({menssage: `${err.message} - Falha ao adicionar livro.`})
        }
    }
    static atualizaLivro = async (req, res) => {
        let {id} = req.params.id
        let novasInfos = req.body
        try{
            await livros.updateOne(id, novasInfos)
            const livroAtualizado = await livros.findOne(id)
            res.status(200).json(livroAtualizado)
        }catch(err){
            res.status(500).json({menssage: `${err.message} - Falha ao atualizar livro.`})
        }
    }
    static deletaLivro = async (req, res) => {
        let {id} = req.params.id;
        try{
            await livros.deleteOne(id)
            res.status(200).send('Livro deletado com sucesso.')
        }catch(err){
            res.status(500).json({menssage: `${err.message} - Falha ao deleitar livro.`})
        }
    }
}
export default LivroController