如何在我的firebase数据库中构建我的Geofire帖子

时间:2016-08-06 17:27:50

标签: swift firebase firebase-realtime-database geofire

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

Locations{
    indexOn: "g"
}

其他/我认为它应该是

Locations{
        ".indexOn": "g"
    }

我没有想到任何事情,直到我发现this与" .indexOn"类似的错误。我尝试添加" .indexOn"但我收到错误,没有密钥可以有符号.(以及其他一些不允许的字符)所以我把它放在没有.的情况下如此:

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

所以它似乎有效,因为observeEventType有时会返回正确的结果,但它仍然给我一个我需要放错的错误" .indexOn"在数据库中。我该怎么做?

任何帮助和明确的例子都会受到赞赏,因为一切都可能比我解决的问题更多。快速做到这一点并感谢阅读!

1 个答案:

答案 0 :(得分:0)

您似乎正在尝试向数据库添加索引定义。这确实是确保服务器在将结果返回到您的应用之前订购和过滤数据的好方法。

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

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

有关详情,请参阅Firebase documentation on adding indexes