firebase - 如何形成与未定义元素匹配的 Firestore 查询

标签 firebase google-cloud-firestore

我正在尝试使用 Firebase 的 Firestore 执行以下查询:

async function getTicketNumbers(companyID) {

    var ticketNumbers = []

    const docs = await store
        .collection('ABC')
        .doc(companyID)
        .collection('DEF')
        .where('ticketStatus', 'in', ['scheduled', undefined])
        .get()

    if (docs) {
        docs.forEach(doc => {
            ticketNumbers.push(doc.id)
        })
    }

    return ticketNumbers
}

我的代码中的问题是 undefined关键词。但是我如何执行查询 where TicketStatus要么是 scheduledundefined ?

我也试过 null和空字符串 '' ,什么不会导致错误,但不会返回额外的文件。
任何帮助都受到高度赞赏。

最佳答案

Cloud Firestore 字段没有“未定义”值。有效类型可以在 documentation 中看到.您可以看到 null 是一个有效的字段值,但不是未定义的。

如果您尝试查询根本不存在的字段,那是不可能的。 Firestore 只能搜索参与索引的字段,缺少字段意味着缺少索引。如果您希望它是可查询的,则必须为每个文档安排一个具有某些值的字段。

关于firebase - 如何形成与未定义元素匹配的 Firestore 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59483600/

相关文章:

google-app-engine - Firebase Cloud Functions 部署错误

firebase - 谷歌Firestore : Query on substring of a property value (text search)

javascript - Vuex 操作无法正常工作。显示错误 "signInWithEmailAndPassword failed: First argument "email"must be a valid string"

flutter - 没有为类型 '[]' 定义运算符 'DocumentSnapshot'

android - 将 Firebase 与 Titanium 集成?

firebase - Firestore - 获取文档集合

android - DocumentSnapshot (Firestore) 到包含自定义对象列表的 Kotlin 对象

java - 离线时强制从 Cloud Firestore 缓存获取

firebase - 在不同 "paths"处具有相同名称的 Firestore 集合上的索引

javascript - Firebase:doc.data() 返回空对象