[英]Check If a Particular Value Exists in the FireBase Database Using Python
[英]getChildren count in Firebase under a specific key, where a particular value exists
我如何在 Java 中實現這一點,我按照以下格式設置我的數據庫,在通知下我有一個孩子設置了一個由 Firebase 生成的隨機密鑰然后我有其他孩子如下。
Notification ----
dhsj37egshehhdeh----
name - john
userid - 939jjddehhd
status - unread
347747dhhshhdeh3----
name - doe
userid - 956jj53hdhhd
status - read
我正在嘗試讓孩子計數狀態等於未讀的地方。
我嘗試使用reference.child("Notification").orderbyChild("status").equalTo("unread"){
然后我得到孩子數。
但是我沒有讓孩子們計數,因為我假設首先必須引用子鍵然后我如何讓孩子們計數?
由於您說您使用的是 Java,因此實現該目標的最簡單方法是:
DatabaseReference db = FirebaseDatabase.getInstance().getReference();
DatabaseReference notificationRef = db.child("NotificationV2");
Query queryByStatus = notificationRef.orderByChild("unread").equalTo(true);
queryByStatus.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
@Override
public void onComplete(@NonNull Task<DataSnapshot> task) {
if (task.isSuccessful()) {
DataSnapshot snapshot = task.getResult();
long count = snapshot.getChildrenCount();
Log.d("TAG", "count: " + count);
} else {
Log.d("TAG", task.getException().getMessage()); //Never ignore potential errors!
}
}
});
logcat 中的結果將是您的查詢返回的孩子的確切數量。 所以請注意,解決這個問題的關鍵是DataSnapshot#getChildrenCount()方法的使用。
編輯:
如果您已將字段名稱從“狀態”更改為“未讀”,並將值更改為 boolean,並將名稱Notification
更改為NotificationV2
,請檢查我更新的代碼。 除此之外,我們看不到其他 5 個元素。 但是,如果所有其他元素都存在於完全相同的級別,那么上面的代碼肯定可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.