android - 在时间戳 Firebase 上建立索引

标签 android indexing firebase-realtime-database

我尝试在 Android 应用程序中执行 orderByChild 操作,但收到警告:使用未指定的索引。考虑将 users/4Gc9OgFWw5hwr2YFxbfwLgyAp1V2/posts 处的 '".indexOn": "timestamp"' 添加到您的安全和 Firebase 数据库规则

这就是我构建数据库的方式:

Database

这是我尝试添加到数据库的规则:

{
"rules": {
".read": "auth != null",
".write": "auth != null",
  "users": {
    "uid": {
      "posts": {
            ".indexOn": "timestamp"
      }
    }
  }
}
}

但是,它仍然给我这个警告。我该如何修复它?我在某处看到您可以对 uid 子项使用任何变量,这就是为什么我在那里有 uid 变量,但我也尝试过不使用它。

最佳答案

规则中应该是 $uid 而不是 uid

结帐this

{
    "rules":{
        ".read":"auth != null",
        ".write":"auth != null",
        "users":{
            "$uid":{
                "posts":{
                    ".indexOn":"timestamp"
                }
            }
        }
    }
}

关于android - 在时间戳 Firebase 上建立索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48311444/

相关文章:

android - 适用于 Android 的 Facebook API : how to get extended info regarding user`s friends?

android - 手机重新启动时应用程序崩溃

PHP获取数组中最后插入项的索引

solr - SOLR 可以执行 UPSERT 吗?

javascript - 如何删除具有云功能的 Node ?

android - android 操作系统是创建新的 Activity 实例还是调出一个已被插入 Activity 堆栈的旧 Activity

java - Android +4.0 中的日历

mysql - 时间戳查询的索引优化

android - 我如何在 Google Firebase 数据库中使用过滤器和子元素

javascript - 用于处理类似于 Telegram/FB Messenger 的聊天组的数据库结构