【问题标题】:Perform whereEqualTo with orderBy in firestore [duplicate]在firestore中使用orderBy执行whereEqualTo [重复]
【发布时间】:2020-11-26 23:25:02
【问题描述】:

我在我的应用程序中使用 firestore,我想对字段“Type”值为“manual”的所有文档进行排序,并根据名为“DateCreated”的其他字段对它们进行排序。

我正在尝试执行以下操作,但没有得到任何结果:

    db.collection( "Items" ).whereEqualTo( "Type", "manual" ).orderBy( "DateCreated", Query.Direction.DESCENDING ).limit( 20).get()
            .addOnSuccessListener( queryDocumentSnapshots -> {
                ....
            } );

有什么理由不工作吗?

如果我取消类型查询,那么我可能会发现返回的 20 个项目都不是我需要的类型,因此没有结果对我有好处。

谢谢

【问题讨论】:

  • 以后,您应该向任务添加错误侦听器并记录传递的异常。它会告诉你该怎么做。在缺少索引的情况下,它将为您提供一个点击链接,该链接将自动创建必要的索引。

标签: java android google-cloud-firestore


【解决方案1】:

您可能需要一个关于“类型”的索引。带有 URL 的错误消息也应该打印在您的 logcat 中。如果您能找到它,只需单击该 URL。否则,请尝试手动创建一个..

https://firebase.google.com/docs/firestore/query-data/indexing

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多