cre*_*not 11 firebase google-cloud-firestore
我遇到了这个问题中遇到的问题。因为另一个问题(和答案)没有解决问题,我正在写一个新问题。
orderBy(FieldPath.documentId(), 'desc')
Run Code Online (Sandbox Code Playgroud)
上述查询将失败并显示以下错误消息:
查询需要索引。您可以在此处创建它:...
如另一个问题中所述,由于以下错误消息,无法创建该索引:
__name__ 不支持仅索引
因为相反的查询工作正常:
orderBy(FieldPath.documentId(), 'asc')
Run Code Online (Sandbox Code Playgroud)
我想知道为什么降序查询不起作用。对我来说这并没有多大意义,尤其是因为这应该是一个非常常见的用例。
如果有上述问题的解决方案,即如果有一种方法可以创建一个有效的索引,那就太棒了'desc'。但是,我预计这不是一种可能性,因此将表述一个更广泛的问题。
我显然可以执行'asc'查询,然后反转我检索到的列表。
但这不起作用,因为我需要limit()查询。我不能仅仅为了获得降序而支付集合中的所有文档。
这样,即使我只想获得一个(最后一个),我也会为集合中的所有文档读取付费。这是一篇很棒的文章,讨论了这种做法的潜在后果,因为它无法扩展。
我是否真的需要创建一个名为 的字段id,其中包含完全相同的 documentID,只是为了在其上创建一个索引,然后能够降序查询?
潜在的集合可能如下所示:
"q":
- id: "q"
"u":
- id: "u"
"i":
- id: "i"
"t":
- id: "t"
"e":
- id: "e"
"d":
- id: "d"
"u":
- id: "u"
"m":
- id: "m"
"b":
- id: "b"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1515 次 |
| 最近记录: |