roger-melo-treinamentos / curso-de-js-roger-melo

Repositório de informações do CJRM
491 stars 170 forks source link

Resumo da Aula Modificando informações no Firestore - Aula 02-10 da etapa 15 #7862

Closed OnielStgo closed 9 months ago

OnielStgo commented 9 months ago

Modificando informações no Firestore

Uso da função "updateDoc"

Para modificar uma informação do nosso banco de dados salvo no firestore, devemos:

NOTA: Se tento apagar ou modificar um document que não existe no banco de dados no firestore, nada vai acontecer, porém o catch da promise devolvida pela função "updateDoc" será executado.

Uso da função "setDoc"

Uma outra forma de atualizar um document é usando a funcão "setDoc". Esta função é usada para criar ou substituir um document no firesotre. Esta função vai criar um document no banco quando o document que estamos tentando modificar não existe no banco. A função "setDoc" recebe dois argumentos obrigatórios e um terceiro opcional.

Em resumo, podemos dizer que:

A seguir um exemplo de uso da função "updateDoc" para atualizar um document:

//atualizar um document
const theLastOfUsRef = doc(db, 'games', 'sECn4klHTI5Ykc0o85GS');

updateDoc(theLastOfUsRef, { title: "The Last Of Us Part II  "})
  .then(() => console.log('Document modificado'))
  .catch(console.log)

//neste exemplo, será atualizado o document, ou seja, só vamos atualizar o valor do field "title", e os outros fields do document não sofreram modificações

E agora um outro exemplo de uso da função "setDoc" para atualizar também um document:

//atualizar um document
const theLastOfUsRef = doc(db, 'games', 'sECn4klHTI5Ykc0o85GS');

setDoc(theLastOfUsRef, { title: "The Last Of Us Part II  "}, { merge: true})
  .then(() => console.log('Document modificado'))
  .catch(console.log)

//neste exemplo, será atualizado o document, ou seja, só vamos atualizar o valor do field "title", e os outros fields do document não sofreram modificações já que na função setDoc estamos usando o merge no terceiro argumento