首页 > 解决方案 > @angular/fire 存在的地方

问题描述

我正在获取带有'where'的firestore文档。我的目标是知道这个文件是否已经存在(例如:这是一个集合中的伪文件)但带有uid。

 var request = this.ms.afs.collection('users', ref => ref.where('uuidsocial', '==', uid)).get().subscribe(users => { 
      if(users.size > 0){
        console.log("exists");
        console.log(users.size);
      }else{
        console.log("doesn't exist");
      }
    });

没用,总是返回1,而且我确定现在不是正确的代码,尝试了很多东西。非常感谢

标签: angularfirebasegoogle-cloud-firestoreangularfire

解决方案


更新

正如评论中指出的那样,显然users是一个QuerySnapshot. 你可以试试users.empty,虽然我看不出有什么不工作的理由users.size。我的猜测是,无论出于何种原因,该集合始终至少有一个用户使用uuidsocial === ${whatever your test uid is}. 我会试着console.log(users)看看你得到了什么。

我想你想要users.length。Javascript 数组没有size属性。

var request = this.ms.afs.collection('users', ref => ref.where('uuidsocial', '==', uid)).get().subscribe(users => { 
  if (users.length > 0){
    console.log("exists");
    console.log(users.length);
  } else {
    console.log("doesn't exist");
  }
});


推荐阅读