![](/img/trans.png)
[英]How to query a document field inside of queryDocumentSnapshot Firestore
[英]How to detect a field deletion inside a document in firestore?
以下是我們可以用來了解文檔是否被添加、修改或刪除的代碼:
db.collection("cities")
.whereEqualTo("state", "CA")
.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot snapshots,
@Nullable FirebaseFirestoreException e) {
if (e != null) {
Log.w(TAG, "listen:error", e);
return;
}
for (DocumentChange dc : snapshots.getDocumentChanges()) {
switch (dc.getType()) {
case ADDED:
Log.d(TAG, "New city: " + dc.getDocument().getData());
break;
case MODIFIED:
Log.d(TAG, "Modified city: " + dc.getDocument().getData());
break;
case REMOVED:
Log.d(TAG, "Removed city: " + dc.getDocument().getData());
break;
}
}
}
});
有沒有辦法讓客戶知道另一個客戶是否刪除了文檔中的字段?
Firestore SDK 不提供任何直接的方法來檢測這種情況。 您必須編寫代碼來比較之前的快照和新的快照,以查看是否添加、更改或刪除了任何字段。 您的解決方案必須:
Map<String, Object>
以查找特定更改這顯然是一個不平凡的代碼量,並且將高度依賴於您要比較的實際字段數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.