这是我的代码来检查doc中是否存在collections

this.shopCollection = this.afs.collection<Shop>('shops', ref => {
  return ref.where('fulladdress', '==', myString)
});


我不知道为什么我不能通过这种方法使用.then().catch()。当我传递字符串进行查询时,如果找不到结果,我怎么知道?

我正在将angularfire2版本^5.0.0-rc.1angular ^4.2.4firebase ^4.5.0一起使用。

请帮忙。

最佳答案

我进行了一些更改

这是我的代码

this.afs.collection<Shop>('shops').ref.where('fulladdress', '==', myString)
      .get()
      .then(res => {
        if(res.docs.length == 0){
          //no documents found
        }else{
          //you got some documents
          res.forEach(shop => {
            console.log(shop.id);
            console.log(shop.data());
          })
        }
      }).catch(err => {
        console.log('something went wrong '+ err)
      });


我不确定这是正确的方法,对我来说效果很好。

关于javascript - 如何在Firestore中处理 promise ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46748513/

10-11 23:33