假设我的Cloud Firestore如下所示:
users
├────random_id_1───{name, email, ...}
├────random_id_2───{name, email, ...}
...
└────random_id_n───{name, email, ...}
我创建了一个CollectionReference
:
var collectionReference = db.collection("users");
然后我创建了一个Query
:
var query = collectionReference.where("name", "==", "John");
我的目标是检查查询是否找到了什么,我只需要这个答案(这样我就可以在if-else语句中使用它)。
如果可能的话,我不想用这种方法,哪怕是这招管用:
query.get().then(function(querySnapshot) {
if (querySnapshot.empty) {
console.log('no documents found');
} else {
// do something with the data
}
});
给出一个关于查询的简单布尔值代码太多了。
1条答案
按热度按时间flmtquvp1#
您所分享的是检查文档是否存在的惯用方法,因此没有更好的选择。
我唯一能想到的是,如果您的环境支持
async
/await
,那么您可以这样做:你甚至可以把前两行压缩成:
我不太喜欢这最后一次机会,像这样隐藏复杂性最终总是在某个时候成为一个有漏洞的抽象。