【发布时间】:2021-07-20 09:52:10
【问题描述】:
我习惯于从控制台获取链接,通知我在 Firebase 集合中搜索文档时需要创建索引。现在看来我不再获得索引了。控制台提供此错误
[cloud_firestore/failed-precondition] 操作被拒绝,因为 系统未处于操作执行所需的状态。 如果执行查询,请确保已通过 Firebase 对其进行索引 控制台。
这是我的查询:
_firestore
.collection('photos')
.where('seen', isEqualTo: '')
.where('uid', isNotEqualTo: appData.user.uid)
.where('interest', isEqualTo: appData.userInterest)
.limit(1)
.get()
.then((QuerySnapshot snapshot) async {
if (snapshot.docs.isNotEmpty) {//
我认为问题可能是我使用了运算符“isNotEqualTo”,但可能是 Android Studio 的问题?
我尝试手动创建索引,但未能创建有效的索引。 我使用 Android Studio 和 Flutter。
有人对如何修复有建议吗?谢谢
【问题讨论】:
-
这能回答你的问题吗? Firebase index required but no link provided。此答案适用于 Javascript SDK,但此问题适用于所有 SDK。您可以在该答案中使用解决方法。
-
您好,GitHub 链接 (github.com/firebase/firebase-js-sdk/issues/5152) 似乎是相关的。但是在我的情况下,即使我创建索引它似乎也不起作用......
-
是的,这就是问题所在。在某些情况下,手动创建索引似乎不起作用。如果您希望使用该链接创建索引,那么您可能必须按照答案中的说明使用 Admin SDK。
-
您所说的“按照他的回答解释使用 Admin SDK”是什么意思?
-
查看链接在我上面的第一条评论中的答案^
标签: firebase flutter google-cloud-firestore