我正在检查称为attending
的布尔字段是否存在,但是我不确定如何做到这一点。
是否有诸如.child().exists()
之类的功能或我可以使用的类似功能?
firebaseFirestore.collection("Events")
.document(ID)
.collection("Users")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if(task.isSuccessful()) {
for(QueryDocumentSnapshot document: task.getResult()){
attending = document.getBoolean("attending");
}
}
}
});
答案 0 :(得分:2)
您可以执行以下操作:
if(task.isSuccessful()){
for(QueryDocumentSnapshot document: task.getResult()){
if (document.exists()) {
if(document.getBoolean("attending") != null){
Log.d(TAG, "attending field exists");
}
}
}
}
来自docs:
public boolean exists ()
返回 如果文档存在于此快照中,则为true。
答案 1 :(得分:0)
您现在所做的是正确的-您必须阅读文档并检查快照以查看该字段是否存在。没有比这更短的方法了。
答案 2 :(得分:0)
You can check firestore document exists using this,
CollectionReference mobileRef = db.collection("mobiles");
await mobileRef.doc(id))
.get().then((mobileDoc) async {
if(mobileDoc.exists){
print("Exists");
}
});