有没有办法检查firejs的firestore中是否存在子集合?
目前我正在使用doc.exists
来处理文档,但是我需要检查文档中是否存在子列,以便写入一些数据。
答案 0 :(得分:8)
是的,有。您可以使用docs.length来了解子集合是否存在。
我做了一个样本来指导你,希望它有所帮助。
data <- data.frame(Age1 = round(runif(100)*100,0))
data%>%
mutate(Age2 = ifelse(between(Age1, 25, 50), "25 - 50 Years",
ifelse(between(Age1, 51, 100),"51 - 100 Years", "Less than 25 years old")))
答案 1 :(得分:7)
马特乌斯&#39;答案没有帮助我。可能它已经改变了。
.collection(..).get()
返回QuerySnapshot,其中包含size
属性,所以我刚刚做了:
admin.firestore.collection('users').doc('uid').collection('sub-collection').get()
.then(query => query.size);
答案 2 :(得分:0)
更准确地说:
const querySnapshot = admin.firestore().collection('users').doc('uid').collection('sub-collection').limit(1).get()
if (querySnapshot.empty) {console.log('sub-collection not existed')}
答案 3 :(得分:0)
这是我如何能够检查集合是否存在?
我先定位文档路径,然后如果它存在,这意味着之后集合存在并且我可以访问它。
<块引用>> db.collection("collection_name").document("doc_name").get()
> .addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
> @Override
> public void onComplete(@NonNull Task<DocumentSnapshot> task) {
> if(task.isSuccessful()){
> DocumentSnapshot result = task.getResult();
> if(result.exists()){
> *//this means the document exist first, hence the
> //collection afterwards the doc_name will
> //exist...now I can access the collection*
> db.collection("collection_name").document("doc_name").collection("collection_name2").get()
> .addOnCompleteListener(task1 -> { if(task1.isSuccessful()){
> ...
> } }); } } });