侦听查询FAILED_PRECONDITION查询需要索引

时间:2020-06-26 16:19:21

标签: firebase dart google-cloud-firestore

我正在尝试执行具有多个索引的复合查询。但出现以下错误

听查询(collectionGroup = groupNotifications,其中接收方array_contains由-createdAt包含jPvdUmIb05aeZeRPtFTwX3idKPm1订单)失败:状态{code = FAILED_PRECONDITION,描述=查询需要索引。

这是我的查询

  Future<GroupNotificationModel> latestGroupNotification() async => _firestore
      .collectionGroup('groupNotifications')
      .where('receivers', arrayContains: user.id)
      .orderBy('createdAt', descending: true)
      .limit(1)
      .getDocuments()
      .then((value) => GroupNotificationModel.fromMap(value.documents.first.data));

然后我通过以下方式设置索引

enter image description here

那我为什么会收到错误消息?我添加了索引。

1 个答案:

答案 0 :(得分:0)

答案是按正确的顺序放置索引

enter image description here