如何在 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}
请按照以下 5 个步骤操作,或者在重定向到您在问题中发布的上述链接后从第 3 步开始。
转到您的 Firebase 控制台数据库
从那里选择索引。单击添加索引。
在集合 ID 字段中输入clients(集合名称)。
在第一个字段中添加sequenceStatus(where 子句字段)并保持升序不变。
添加created(orderby 字段)第二个字段并保持升序不变。
单击创建索引。
现在,运行您的查询。它会工作得很好。
干杯!
| 归档时间: |
|
| 查看次数: |
5847 次 |
| 最近记录: |