检查如果文件存在
问题描述:
我想检查我的收藏“用户”存在的文档,因为当我尝试这个代码,似乎不是在OnCompleteListener
进入时,文件不存在(当没有文件有正确的值与现场“user_uid”):检查如果文件存在
FirebaseFirestore db = FirebaseFirestore.getInstance();
db.collection("users").whereEqualTo("user_uid", user.getUid())
.limit(1).get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
} else {
Log.w(TAG, "Error getting documents.", task.getException());
}
}
});
当我有我的病情whereEqualTo("user_uid", user.getUid())
一个文件,它的工作。
所以,我怎么能检查是否有一个文档,其中外地"user_uid" == user.getUid()
?
答
我复制你的代码,并试图您的OnCompleteListener
实现与limit(1)
。它在有结果和没有结果的情况下与我合作。
Firestore
有一种方法可以在执行任何操作之前通过检查是否isEmpty()
来检查是否没有结果。因为执行任何操作都会导致IndexOutOfBoundsException
大部分时间在getDocuments()
上迭代。
例如:
if (task.isSuccessful()) {
boolean isEmpty = task.getResult().isEmpty();
}
我希望这会帮助你。