检查云公司的FireStore查询返回的东西

问题描述 投票:1回答:1

比方说,我的云计算公司的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
    }
});

这是太多的代码给有关查询一个简单的布尔。

javascript firebase google-cloud-firestore
1个回答
3
投票

什么你分享的是来检查文件中存在的惯用方法,所以根本就没有什么更好的选择。

我能想到的唯一的事情是,如果你在一个支持async / await在这种情况下,你可以做到这一点的环境:

let querySnapshot = await query.get();
if (querySnapshot.empty) {
    console.log('no documents found');
} else {
    // do something with the data
}

你也许前两行甚至凝结成:

if ((await query.get()).empty) {
  ...

我不喜欢这最后的机会那么多,虽然。隐藏这样的复杂性总是最终被在某些时候漏水的抽象。

© www.soinside.com 2019 - 2024. All rights reserved.