如何在flutter中使用where和orderby

Par*_*eri 5 flutter

如何在 flutter 中使用 where 和 orderBy。

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

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

W/Firestore(19854):(19.0.0) [Firestore]:侦听查询(其中sequenceStatus ==引用 order by -created, - name的客户端)失败:Status{code=FAILED_PRECONDITION,description=查询需要索引。您可以在此处创建它: https: //console.firebase.google.com/project/rigatoinfissitest/database/firestore/indexes ?create_composite =ClFwcm9qZWN0cy9yaWdhdG9pbmZpc3NpdGVzdC9kYXRhYmFzZXMvKGRlZmF1bHQpL2NvbGxlY3Rpb25Hcm91cHMvY2 xpZW50cy9pbmRleGVzL18QARoSCg5zZXF1ZW5jZVN0YXR1cxABGgsKB2NyZWF0ZWQQAhoMCghfX25hbWVfXxAC,原因=null}

Muh*_*man 9

请按照以下 5 个步骤操作,或者在重定向到您在问题中发布的上述链接后从第 3 步开始。

  1. 转到您的 Firebase 控制台数据库

  2. 从那里选择索引。单击添加索引。

  3. 在集合 ID 字段中输入clients(集合名称)。

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

  5. 添加created(orderby 字段)第二个字段并保持升序不变。

  6. 单击创建索引。

现在,运行您的查询。它会工作得很好。

干杯!