Firebase .where('smth','==',true)查询无法正常工作

时间:2019-04-17 13:51:13

标签: javascript angularjs firebase google-cloud-firestore

使用诸如.where("status", "==", true)之类的多个查询,我什么也没得到,我的“快照”为空screenshot 1,但它必须返回所有文档,其中“状态”不为空。

var firstLoad = () => {

var first = $scope.colRef
    .where("status", "==", true)
    .where("manager", "==", true)
    .orderBy("last_activity_date", 'desc')
    .limit(25);

first.get()
    .then(firstSnapshot => {
        console.log(firstSnapshot);
    })
    .catch(error => {
        console.log(error);
    });
}
firstLoad();

然后,我更改查询,现在变​​成.where("status", "==", "Потенциальный"),我得到了正确的答案screenshot 2

我想知道如何使用.where获取所有这些文档,其中“状态”不是空的?

1 个答案:

答案 0 :(得分:0)

Firestore无法在查询中表达“非空”。您可以检查是否相等(如您所观察到的)。您至少有其他选择。在文档中存储另一个布尔字段,并将其设置为true表示“非空状态”,将false设置为“空状态”。