这是我的代码来检查doc
中是否存在collections
this.shopCollection = this.afs.collection<Shop>('shops', ref => {
return ref.where('fulladdress', '==', myString)
});
我不知道为什么我不能通过这种方法使用
.then()
和.catch()
。当我传递字符串进行查询时,如果找不到结果,我怎么知道?我正在将
angularfire2
版本^5.0.0-rc.1
与angular ^4.2.4
和firebase ^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/