“Firebase”;。indexOn“;困难

“Firebase”;。indexOn“;困难,firebase,firebase-realtime-database,firebase-security,Firebase,Firebase Realtime Database,Firebase Security,尝试按照之前的一些答案进行操作,但这些答案不起作用。 我的数据如下所示: "Test" : { "1d68e78d87bbdd5e9e4141b54765eac9" : { "Test" : "true", "num" : 0, "timestamp" : "2017-12-26T17:04:00.874Z" }, "59e265ed2145425bd7660488120d69c6" : { "Test" : "true", "num" : 2

尝试按照之前的一些答案进行操作,但这些答案不起作用。 我的数据如下所示:

"Test" : {
  "1d68e78d87bbdd5e9e4141b54765eac9" : {
    "Test" : "true",
    "num" : 0,
    "timestamp" : "2017-12-26T17:04:00.874Z"
  },
  "59e265ed2145425bd7660488120d69c6" : {
    "Test" : "true",
    "num" : 2,
    "timestamp" : "2017-12-26T17:29:32.807Z"
  },
  "aa7b4143099985cf2b2a7e31d91d6fb6" : {
    "Test" : "true",
    "num" : 1,
    "timestamp" : "2017-12-26T17:06:08.238Z"
  }
}
我试图先通过'num'或可能的'timestamp'为我的应用程序测试这两种排序。因此,我的研究让我得出了这些规则,它们似乎根本不适合我:

"rules":{
    ".read": "true",
    ".write": "true",
    "Test": {
        ".indexOn": ["num","timestamp"]
    }
}
据我所知,测试仍然是按散列排序的。深入研究也不会产生任何效果,例如:

"rules":{
    ".read": "true",
    ".write": "true",
    "Test": {
        "$hash": {
            ".indexOn": ["num","timestamp"]
        }
    }
}

您如何验证排序?您正在执行的查询在哪里?Firebase控制台中的数据不会自行重新排序。indexOn只允许您更快地查询这些子值。发布查询和快照的代码returned@DoesData我相信你是对的。我在REST中通过执行GET来测试它,我假设数据将按索引排序。使用:Test.json?orderBy=\“num\”&limitToFirst=2进行测试,我能够通过索引限制我的数据(这是我想用firebase测试的),在从中删除“num”后也执行相同的调用。indexOn会导致一个错误,这是验证数据是否已被索引的一种迂回方式。是否需要/建议使用firebase admin来测试您的数据结构?firebase控制台可以测试您的规则,但无法测试您的结构,因为对结构确实没有任何要求;它们是一组父节点和子节点,不必符合任何特定的准则。