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

Função update

Porque no curso não foi utilizada a função update?

firestore.collection(Path).doc(model.id).update(listinModel.toMap());

não seria mais simple a aplicação? e não ja seria uma dunção nativa do claud firestore?

2 respostas
solução!

Olá, Itson.

Tudo bem?

Você está absolutamente certo, a função update é uma funcionalidade nativa do Cloud Firestore e pode ser utilizada para atualizar documentos. No entanto, a função set foi utilizada no curso para demonstrar o conceito de adicionar e atualizar documentos ao mesmo tempo.

A função set com o identificador do documento (doc ID) pode ser usada para criar um novo documento ou substituir um documento existente. Quando usamos set, se o documento não existir, ele será criado com os dados fornecidos. Se o documento já existir, ele será substituído pelos novos dados.

Por exemplo, no código abaixo:

firestore.collection("listins").doc(listin.id).set(listin.toMap());

Se o listin.id já existir na coleção listins, o documento existente será atualizado com os novos dados de listin.toMap(). Se o listin.id não existir, um novo documento será criado com listin.id como ID do documento e listin.toMap() como dados do documento.

Por outro lado, a função update é usada para atualizar campos em um documento existente. Se o documento não existir, a operação update falhará.

Por exemplo, no código abaixo:

firestore.collection("listins").doc(listin.id).update(listin.toMap());

Se o listin.id já existir na coleção listins, os campos do documento existente serão atualizados com os dados de listin.toMap(). Se o listin.id não existir, a operação update falhará.

Portanto, a escolha entre set e update depende do que você deseja alcançar. Se você deseja ter certeza de que um documento será criado independentemente de ele já existir ou não, você pode usar set. Se você deseja atualizar campos em um documento existente e falhar se o documento não existir, você pode usar update.

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.

Ajudou sim Renan, muito obrigado pela explicação.