Flutter 如何在颤振中使用where和orderby

Flutter 如何在颤振中使用where和orderby,flutter,Flutter,如何在颤振中使用where和orderBy 任何人都可以告诉我这些索引是如何工作的,以及如何正确地创建它们 Query query = Firestore.instance .collection('clients') .where('sequenceStatus', isEqualTo: sequenceName) .orderBy('created', descending: true) .limit(20); W/Fires

如何在颤振中使用where和orderBy

任何人都可以告诉我这些索引是如何工作的,以及如何正确地创建它们

Query query = Firestore.instance
        .collection('clients')
        .where('sequenceStatus', isEqualTo: sequenceName)
        .orderBy('created', descending: true)
        .limit(20);

W/Firestore(19854):(19.0.0)[Firestore]:侦听查询(其中sequenceStatus==quotes order by-created,-name)失败:状态{code=failed\u前提条件,描述=查询需要索引。您可以在此处创建它:,原因=null}

遵循以下5个步骤,或在问题中发布的上述链接上重定向后从第3步开始

  • 转到firebase控制台数据库

  • 从那里选择索引。点击添加索引

  • 在集合ID字段中输入
    客户端
    (集合名称)

  • 在第一个字段中添加
    sequenceStatus
    (where子句字段),并保持升序不变

  • 添加创建的
    (orderby字段)第二个字段,并保持升序不变

  • 单击创建索引

  • 现在,运行您的查询。它会很好用的


    干杯

    与我在序列中提到的方法相同?它正在工作。很抱歉,我希望按降序创建。很好,谢谢你帮我,没问题。我很高兴它能帮助您。查询q1=_firestore.collection('clients')。where('isStar',isEqualTo:false)。where('isStar',isEqualTo:null)。orderBy('created',descending:true)。limit(每页);此查询是两个字段索引还是三个字段索引,因为firebase无法为一个索引中的多个索引访问一个字段。遗憾的是,您不能这样做。您必须在数据中获取poserName数组,然后检查该数组的长度。