[英]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.