昨晚我试图在firebase的数据库中索引一个嵌套对象。以下是我的对象数据和规则。目前在orderedBy locID上,它返回的索引未定义。非常感谢任何帮助谢谢!
我的数据:
我的规则:
List
触发错误的代码:
{
"rules": {
"locations": {
"$uid": {
".indexOn": ["locID"]
}
},
".read": true,
".write": true
}
}
以上是使用pyrebase包装器返回未定义的索引。
答案 0 :(得分:1)
您正在跳过查询中的某个级别。
Firebase将查询您执行查询的位置的直接子项。因此,在您的情况下,它会查询项10S
和12S
,并尝试对locID
进行排序/过滤。这些节点都没有子locID
,因为该属性在树中更深一层。
Pyrebase可能会与Firebase REST API进行对话,当您尝试订购/过滤的字段没有索引时,它将失败。
您的用例有点难以确定,但一般来说,此问题的解决方案是保留反向索引。在这种情况下,可以是一个列表,用于跟踪每个10S
的{{1}} / 12S
事物。
locID