我收到以下错误
W / Firestore(1034):(19.0.0)[Firestore]:侦听查询(用户聊天) 在-messageDate处== M-00710的订单,-名称的位置)失败: 状态{code = FAILED_PRECONDITION,描述=查询需要一个 指数。您可以在这里创建它: https://console.firebase.google.com/v1/r/project/ ...,cause = null}
当我尝试找到record
void getReply() {
var userQuery = databaseReference
.collection(documentId)
.where('to', isEqualTo: userId)
.orderBy("messageDate", descending: true)
.limit(1);
userQuery.snapshots().listen((data) {
data.documentChanges.forEach((change) {
print('documentChanges ${change.document.data}');
});
});
}
这是我的索引
我错过了什么吗?
答案 0 :(得分:2)
您正在使用的查询将需要在“ 至”和“ messageDate ”字段上的复合索引,但是您创建的索引似乎在“ 来自”和“ messageDate ”字段。
答案 1 :(得分:0)
在集合userChat
上创建一个复合索引,如下所示
messageDate:DESC to:ASC