如何使用geoflutterfire通过地图值和布尔值创建复合索引查询?

时间:2019-08-05 07:45:30

标签: flutter google-cloud-firestore database-indexes

我正在使用geo Flutter Fire软件包,该软件包可让您查询点半径内的文档。这工作得很好,但是当我尝试添加另一个条件来检查特定字段的值时,出现此错误以创建索引。我之前已经创建了索引,由于某种原因,提供的链接从不工作,并且总是将我发送到错误页面。所以我通常手动创建索引。但是这一次,它将无法正常工作,所以我对我在哪里出错感到困惑?这是我收到的错误消息:

Listen for Query(users where atEvent == true order by position.geohash, __name__) failed: Status{code=FAILED_PRECONDITION, description=The query requires an index. You can create it here: ```

所以atEvent是具有布尔值的字段的名称,而position是具有geohash和geopoint的地图,因此我尝试创建一个手动索引,其中atEvent作为字段(升序)和position.geohash作为另一个字段(降序)它不会工作。我也尝试过只使用position和atEvent,但是都没有用。我将如何创建该索引?该软件包说它支持这种类型的查询,并且像我的一样给出了一个例子。这是我的查询代码:

stream = radius.switchMap((rad) {
        var collectionReference = Firestore.instance.collection('users').where('atEvent',isEqualTo: true);
        return geo.collection(collectionRef: collectionReference).within(
            center: userLoc, radius: rad, field: 'position');
      });

0 个答案:

没有答案