当前位置: 首页 > 知识库问答 >
问题:

恢复哪里EqualTo,orderBy和限制(1)不工作

申屠鹏
2023-03-14

我想从例程中查询我的锻炼集合以获取最新的锻炼。这意味着我使用where EqualTo查询我的例程Key,按开始时间戳降序排列,然后限制为1,然后取锻炼的第一个Key/Id。

但是这不起作用。其中EqualToorderBy单独工作但不组合。我做错了什么?

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
                }
            });

共有1个答案

林烨烨
2023-03-14

除非为其创建索引,否则此查询将无法工作。这可以通过在Firebase控制台中手动创建来实现,或者如果您使用的是Android Studio,您会在logcat中找到一条如下消息:

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

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

 类似资料:
  • 我试图做一个简单的查询,从我的火还原数据库,但我错过了一些非常明显的东西。我试着在网上寻找,但没有什么工作。对于一些背景,我有一个“cf”集合,我试图查询一个“hsc”值等于“1”的对象,但我没有得到任何回报。 我正在通过邮递员测试这个。我试图改变firebase规则,使之适用于任何情况,但仍然没有任何效果。 更新:以下是我如何初始化我的数据库

  • 所以我有这个疑问 这给了我想要的,但是orderby语句被忽略了。当我转储

  • 如果我在浏览器控制台输入这个表达式(带有严重的口音): 它将返回: 但是如果我输入这个表达式(带单引号): Math.sin'1' 它将返回错误: 你能解释一下为什么会这样吗?

  • 当我试图在mysql phpmyadmin中导航或了解更多关于用户的信息时,我不小心删除了root用户的权限。现在我不能创建新的数据库,新的用户,等等。如何再次恢复root用户的权限 < li >当我出错时,我想为我的一个数据库创建一个单独的用户。我想只删除特定数据库的root权限,而不是所有数据库的root权限。似乎我取消了整个mysql的root权限。 错误SQL查询: 使用mysql; My

  • 我的查询没有使用参数对我的帖子进行排序。 一点背景: 我在foreach语句中,该语句循环遍历“category”id的自定义分类法。在该foreach语句中,我试图调用一个新的WP_查询,从该foreach循环的每个“类别”获取帖子。我的args数组如下所示: 和都是此post\u类型中我的自定义分类中的数组。 和根本不起作用,我想不出原因。

  • 我有实体项目与投标有一对多的关系 型号/项目。JAVA 模型/投标。JAVA 我想获取一个项目的附加出价,出价是按其金额排序的。但它似乎并不像预期的那样起作用 波斯特数据 选择 输出是