java–Firestore whereEqualTo,orderBy和limit(1)不起作用

java–Firestore whereEqualTo,orderBy和limit(1)不起作用,第1张

概述我想从常规查询我的锻炼集合中的最新锻炼.这意味着我使用whereEqualTo我的routineKey查询,按降序排序开始TimeStamp,然后限制为1,然后取出Workout的第一个Key/Id.但是这不起作用.whereEqualTo和orderBy分开工作但不合并.我究竟做错了什么?fm.getColRefWorkout().whereEqualTo(

我想从常规查询我的锻炼集合中的最新锻炼.这意味着我使用whereEqualTo我的routineKey查询,按降序排序开始TimeStamp,然后限制为1,然后取出Workout的第一个Key / ID.

但是这不起作用. whereEqualTo和orderBy分开工作但不合并.我究竟做错了什么?

fm.getColRefWorkout().whereEqualTo("routineKey", routineKey).orderBy("startTimeStamp", query.Direction.DESCENDING).limit(1).get().addOnSuccessListener(new OnSuccessListener<querySnapshot>() {                 @OverrIDe                public voID onSuccess(querySnapshot documentSnapshots) {                    workoutKey = documentSnapshots.getdocuments().get(0).getID();                    //To stuff with this workoutKey                }            });

解决方法:

除非您为其创建index,否则此查询将不起作用.这可以通过在Firebase Console中手动创建,或者如果您使用的是AndroID Studio,您可以在logcat中找到一条听起来像这样的消息:

Failed_PRECONDITION: The query requires an index. You can create it here: ...

您只需单击该链接或将该URL复制并粘贴到Web浏览器中,即可自动创建索引.

总结

以上是内存溢出为你收集整理的java – Firestore whereEqualTo,orderBy和limit(1)不起作用全部内容,希望文章能够帮你解决java – Firestore whereEqualTo,orderBy和limit(1)不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1103386.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存