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?
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?
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.