1
resposta

[Dúvida] Como fazer para cada Usuário visualizar lista de produtos diferente?

Fiquei com uma duvida ao final do curso, pois qualquer usuário visualiza a mesma lista de produtos que tem no firestore.

Exemplo: Tenho um usuario X, que ao acessar o app lista 2 produtos: tênis e camisa. Se eu trocar para outro usuário, usuario Y ele consegue visualizar o mesmo tênis e camisa que visualizei com o usuário X.

Existe alguma forma do usuario visualizar somente produtos "dele" ?

Exemplo: Tenho um usuario X, que ao acessar o app lista 2 produtos: tênis e camisa. Se eu trocar para outro usuário, usuario Y ele deveria visualizar produtos diferente como por exemplo: calça e meia.

1 resposta

Olá, Adamor!

Entendo a sua dúvida. Para que cada usuário visualize uma lista de produtos diferente no Firestore, você pode utilizar um campo no documento de cada produto que indique qual usuário é dono daquele produto. Dessa forma, ao fazer a consulta no Firestore, você pode filtrar os produtos pelo usuário atualmente logado.

Vamos supor que você tenha uma coleção chamada "produtos" e cada documento represente um produto. Nesse caso, você pode adicionar um campo chamado "dono" em cada documento, que armazene o ID do usuário dono daquele produto.

Ao fazer a consulta no Firestore, você pode utilizar o método "where" para filtrar os produtos pelo dono. Por exemplo:

const usuarioAtual = firebase.auth().currentUser;

const query = firebase.firestore().collection('produtos').where('dono', '==', usuarioAtual.uid);

Dessa forma, a consulta irá retornar apenas os produtos que possuem o ID do usuário atualmente logado como dono.

Lembrando que é importante garantir que o usuário esteja logado antes de fazer essa consulta. Além disso, é importante que o campo "dono" seja preenchido corretamente ao adicionar um novo produto.

Espero ter ajudado a esclarecer a sua dúvida! Se tiver mais alguma pergunta, estou à disposição. Bons estudos!

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