Como obter o campo ou os dados modificados das atualizações em tempo real do Firebase Firestore do documento? [duplicado]
Esta pergunta já tem uma resposta aqui:
Firestore - Ouvir alterações de campo específicas? 3 respostasEu tenho vários documentos. Meu problema é que não consigo obter os dados específicos modificados, estou recebendo documentações completas.
db.collection("employees").whereEqualTo("OID", OID)
.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
if (e != null) {
Log.w(TAG, "listen:error", e);
return;
}
for (DocumentChange dc : snapshots.getDocumentChanges()) {
switch (dc.getType()) {
case ADDED:
//Here i am getting full newly added documents
break;
case MODIFIED:
//here i am getting which is modified document,ok fine...,But i want to get only the filed which i modified instance of getting full documents..
break;
case REMOVED:
break;
}
}
}
});
Nota:
caso MODIFICADO: aqui estou recebendo o que é modificado do documento completo, o que funciona bem. Mas quero obter apenas o campo que modifiquei, em vez de obter todos os campos dos documentos.
Veja a captura de tela acima
Por exemplo
Se eu mudar de campoisActive = true para dentroisActive = false, em seguida, desejo que apenas o arquivo seja arquivado em particular. ,, não quero os demais campos restantes ... (OR) Como identificar qual campo foi alterado.