如何检查Firestore中是否存在集合?
有一种检查文档是否存在的方法。如:
this.afs.doc('users/' + userId).ref.get().then((doc) => {
if (doc.exists) {
console.log("User alread exists")
} else {
console.log("User first login")
}
}).catch(function (error) {
console.log("Error getting document:", error);
});
但是我找不到检查集合的方法。 就我而言,我不知道是否存在任何文档。所以,我不能使用
this.afs.doc
获取文档。我想检查根集合的存在。
答案 0 :(得分:0)
“重复”页面中显示的解决方案有效。
如果您想知道一个集合是否为空,则必须对该集合运行查询,获取文档快照,然后检查快照是否为空。
假设您有一个称为引用的CollectionReference;
首先在参考上运行集合查询并检索快照-无论快照是否存在,此方法都会产生结果:
reference.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
if(queryDocumentSnapshots.isEmpty()){
Toast.makeText(getActivity(), "Collection is Empty",
Toast.LENGTH_LONG).show();
}
}
});