Android 如何计算当前用户的子用户总数?
Android 如何计算当前用户的子用户总数?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,如何获取当前用户的子计数,例如,当前用户的电子邮件是uzahid231@gmail.com因此,我必须得到1,因为其他产品来自不同的用户使用官方文档,您应该能够将其翻译为您需要的语言 以swift方式完成: // Get reference to the DB let ref = db.collection("Products") // Query for the email field let query = ref.whereField("email"
如何获取当前用户的子计数,例如,当前用户的电子邮件是uzahid231@gmail.com因此,我必须得到1,因为其他产品来自不同的用户使用官方文档,您应该能够将其翻译为您需要的语言 以swift方式完成:
// Get reference to the DB
let ref = db.collection("Products")
// Query for the email field
let query = ref.whereField("email", isEqualTo: "uzahid231@gmail.com").getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
querySnapshot!.documents.count // <-- Number of documents
for document in querySnapshot!.documents {
// all the documents that satisfied the query
}
}
}
//获取对数据库的引用
let ref=数据库集合(“产品”)
//查询电子邮件字段
让query=ref.whereField(“电子邮件”,isEqualTo:”uzahid231@gmail.com“”.getDocuments(){(querySnapshot,err)在
如果让err=err{
打印(“获取文档时出错:\(错误)”)
}否则{
querySnapshot!.documents.count/类似这样的东西应该可以做到:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("Products");
Query query = ref.orderByChild("uid").equalTo(uid);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
System.out.println(dataSnapshot.getChildrenCount());
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
}
请注意:
- 我强烈建议继续搜索您的用例,因为有很多关于此alreaduy的信息:
<> LI>此代码读取所有匹配的子节点,因为FialBASE没有内置的聚合操作。如果您只读取当前用户的节点,可能不太坏,但是每当您这样做时,考虑您读取多少数据,以了解多少用户。数据库,并在编写产品时更新。有关更多信息,请参阅上面搜索结果中的一些答案
请分享一些代码。您尝试过什么。您的db的结构是什么?嘿,Usama。您在这方面有什么进展吗?下面有两个人试图帮助您。您是否有机会查看并尝试他们的答案?如果答案有用,请单击“向上投票”按钮(▲) 如果它回答了您的问题,请单击复选标记(✓) 接受它。这样其他人就知道你得到了(足够的)帮助。也可以看到代码是针对Cloud Firestore的,但从问题的屏幕截图来看,OP似乎使用了实时数据库。