在 Firebase 中为未知节点编制索引



我的数据结构是这样的:

firebase-endpoint/updates/<location_id>/<update_id>

每个位置都有许多更新,Firebase 将其添加为"数组"元素。

如果location_id在插入数据库之前未知,如何对每个更新的"validFrom"属性进行索引?

{
  "rules": {
    "updates": {
      "<location_id>": { // WHAT IS THIS NODE SUPPOSED TO BE?
        ".indexOn": ["validFrom"]
      }
    }
  }
}

数据结构示例

{
    "71a57e17cbfd0f524680221b9896d88c5ab400b3": {
        "-KBHwULMDZ4EL_B48-if": {
            "place_id": "71a57e17cbfd0f524680221b9896d88c5ab400b3",
            "name": "Gymbox Bank",
            "statusValueId": 2,
            "update_id": "NOT_SET",
            "user_id": "7017a0f5-04a7-498c-9ccd-c547728deffb",
            "validFrom": 1456311760554,
            "votes": 1
        }
    },
    "d9a02ab407543155d86b84901c69797cb534ac17": {
        "-KBHgPkz_buv7DzOFHbD": {
            "place_id": "d9a02ab407543155d86b84901c69797cb534ac17",
            "name": "The Ivy Chelsea Garden",
            "update_id": "NOT_SET",
            "user_id": "7017a0f5-04a7-498c-9ccd-c547728deffb",
            "validFrom": 1456307547374,
            "votes": 0
        }
    }
}

更新:我不认为这是上述问题的欺骗,因为该问题也没有具有未知ID的父对象。 即<location_id><update_id>都是自由格式的键,不能手动设置

我在文档中做了更多的挖掘,我认为这应该有效:

{
  "rules": {
    "updates": {
      "$location_id": { // $location_id should act like a wild card
        ".indexOn": ["validFrom"]
      }
    }
  }
}

相关内容

最新更新