Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

ORM com NodeJs - Sequelize - Outros escopos

Boa noite!

Algum motivo em especifico para utilização do escopo? Por que realmente devo usá-lo?

Não seria mais simples aplicar uma regra no where do findAll?

Por exemplo:

await db.Pessoas.findAll({ where: { ativo: true }});

Fiz o teste com o exemplo acima e obtive o mesmo resultado.

2 respostas
solução!

Oi Gustavo, tudo bem? Com certeza o where soluciona muito bem o caso. Acho que tem uma palavra chave na aula é que padrão, se todas as vezes que tivéssemos que listar os usuários a lista devesse ser filtrada dessa forma, você precisaria sempre lembrar de colocar esse where em tudo que fosse lugar que tivesse lista de usuários ou nesse caso, pessoas.

Outra coisa que pode salvar você de escrever vários critérios de where é que os escopos podem ser combinados, gerando consultas bem complexas. Então vale a pena avaliar, se tem uma query que você tá fazendo com alguma frequência, ou até mesmo, tem uma query que ficou complexa, você pode isolar ela em escopos diferentes e combinar elas.

Boa noite!

Wanderson, consegui entender o porque do escopo.

Obrigado pela resposta!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software