0

我在所有其他帖子中注意到,任何带有子节点的节点/键都以引号保存在数据库中,而我的则没有。

Locations{
    indexOn: "g"
}

其他/我认为应该是

Locations{
        ".indexOn": "g"
    }

在遇到与“.indexOn”类似的错误之前,我没有想到任何事情。我尝试添加“.indexOn”,但我收到了错误,即没有键可以有符号.(以及一些其他不允许的字符),所以我把它放在没有.类似的地方:

Locations{ (specific id){ g: "345jh3i5jh" l{ 0: 37 1: -120 } indexOn: "g" user: "0987435098723098Gjhf90" } }

所以它似乎可以工作,因为observeEventType有时会返回正确的结果,但它仍然给我一个错误,我需要将“.indexOn”放入数据库中。我该怎么做呢?


任何帮助和明确的示例将不胜感激,因为所有问题可能比我解决的问题更多。快速执行此操作,感谢您的阅读!

4

1 回答 1

0

您似乎正在尝试将索引定义添加到您的数据库中。这确实是确保服务器可以在将结果返回到您的应用程序之前对数据进行排序和过滤的好方法。

通过将索引添加到 Firebase 控制台 > 数据库 > 规则中的 Firebase 数据库规则来定义索引。不要尝试将它们添加到您的实际数据库中,因为:

  • 您将无法保存它们,因为它们.的密钥中有一个,这是数据库中的非法字符
  • 添加它们无济于事,因为数据库服务器仅.indexOn在数据库规则中搜索定义

有关更多信息,请参阅有关添加索引的 Firebase 文档

于 2016-08-07T00:44:46.990 回答