我真的不明白这一点。我有一个在两个字段(dayOfYear,releaseYear)上配置了复合索引的集合。以下查询工作正常:
val result = db.collection("game_releases")
.whereGreaterThanOrEqualTo("releaseYear", startYear)
.whereLessThanOrEqualTo("releaseYear", endYear)
.whereEqualTo("dayOfYear", dayOfYear)
.limit(100).get().get()
这给了我所有在特定日子里几年发行的游戏。
因此,我尝试将其调整为特定年份的几天内的所有游戏:
val result = db.collection("game_releases")
.whereEqualTo("releaseYear", year)
.whereGreaterThanOrEqualTo("dayOfYear", start)
.whereLessThanOrEqualTo("dayOfYear", end)
.limit(100).get().get()
它们都使用相同的字段,但是第二个查询抛出错误FAILED_PRECONDITION: The query requires an index
我在这里想念什么?