为什么这个“.indexOn”不起作用?

时间:2017-04-29 11:25:37

标签: firebase firebase-realtime-database

我在控制台上有一个Firebase数据库,我在Contests / AprilMay下的数据可视化如下

enter image description here

当我导出JSON时,它看起来像这样:

"Contests" : {
    "AprilMay" : {
      "dummy" : 0,
      "user3" : 240,
      "user5" : 69,
      "user6" : 155
    }
  },

我尝试索引值。我的问题似乎与线程中的问题类似:

Why does this Firebase ".indexOn" not work?

但是,我的规则不起作用:

{
 "rules": {
    ".read": true,
    ".write": true,
    "Contests" : {
      "AprilMay" : {
        ".indexOn" : ".value"     
      }
    } 
  }
}

当我在客户端代码(Unity)中使用OrderByValue()设置查询时,它运行良好。但是我想按照规则为了性能而订购它。 当我在没有任何规则定义的情况下使用它时:

FirebaseDatabase.DefaultInstance.GetReference("Contests/AprilMay")
                .OrderByValue().ValueChanged += HandleLeaderBoardChanged

当我在控制台中定义规则时,我会删除OrderByValue()部分(不应该吗?)

FirebaseDatabase.DefaultInstance.GetReference("Contests/AprilMay")
                .ValueChanged += HandleLeaderBoardChanged

但它不起作用。

0 个答案:

没有答案