我正在尝试使用 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
要么是 scheduled
或 undefined
?我也试过
null
和空字符串 ''
,什么不会导致错误,但不会返回额外的文件。任何帮助都受到高度赞赏。
最佳答案
Cloud Firestore 字段没有“未定义”值。有效类型可以在 documentation 中看到.您可以看到 null 是一个有效的字段值,但不是未定义的。
如果您尝试查询根本不存在的字段,那是不可能的。 Firestore 只能搜索参与索引的字段,缺少字段意味着缺少索引。如果您希望它是可查询的,则必须为每个文档安排一个具有某些值的字段。
关于firebase - 如何形成与未定义元素匹配的 Firestore 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59483600/