为什么将多个EqualTo不能正常工作

时间:2019-07-04 16:07:02

标签: kotlin google-cloud-firestore

我有这样的文件集:

shiftId: {
    open: boolean,
    terminalId: string,
    startDate: Date
}

我创建了这样的索引: firestore index

我的代码查询如下:

            shiftCollection
                .whereEqualTo("open", true)
                .whereEqualTo("terminal", "1")
                .orderBy("startDate", Query.Direction.DESCENDING)
                .limit(1)
                .get()
                .addOnSuccessListener {
                    if (it.isEmpty){
                        Log.d(TAG, "There is no open shift")
                        return@addOnSuccessListener
                    }

                    .......
                }

并且可以肯定的是,我至少有一个符合过滤条件的文档: enter image description here

查询始终返回空

谢谢。

1 个答案:

答案 0 :(得分:2)

您正在通过terminal查询,但是数据库中的实际密钥为terminalId