【发布时间】:2019-01-17 21:42:59
【问题描述】:
我正在使用具有以下结构的 firebase cloud firestore datadabse 构建应用程序:
我正在查询“StartDate”字段大于 0 且“EndDate”等于 0 的用户书籍,然后该查询应按 Title 排序。
CollectionReference booksCollection = mFirebaseDatabase.collection("users").document(user.getUid()).collection("books");
Query databaseQuery = booksCollection.whereGreaterThan("StartDate", 0).whereEqualTo("EndDate", 0).orderBy("Title");
databaseQuery.get()
为此,我读到您需要使用索引(尽管我没有得到错误消息中的索引链接,因为它表明我应该这样做)。我的索引如下所示:
但我收到错误消息:
java.lang.IllegalArgumentException:无效查询。您在字段“StartDate”上有一个不等式过滤器(whereLessThan()、whereGreaterThan() 等),因此您还必须将“StartDate”作为您的第一个 orderBy() 字段,但您的第一个 orderBy() 目前在字段上改为“标题”。
【问题讨论】:
标签: android firebase indexing google-cloud-firestore