Olá, eu não usei o seu código
function ProdutosDAO(connection){ this._connection = connection; }
ProdutosDAO.prototype.lista = function(callback){ this._connection.query('select * from produtos', callback); }
module.exports = function(){ return ProdutosDAO;
}
Usei a classe mesmo do ES6
class ProdutosBanco {
constructor(connection){ this.connection = connection; };
lista(callback) { this.connection.query('select * from produtos', callback); }; };
module.exports = function(){ return ProdutosBanco; }
Vocês deveria reformula esse curso usando os novos recursos da linguagem