我的firebase-realtime-database中具有以下结构:
- child_n
- child_n_1
- $id_child_n_1
- $subid_child_n_1
- dates
* 20180102: true
* 20181102: true
* 20181120: true
- $id_child_n_2
- $subid_child_n_2
- dates
* 20181103: true
* 20181105: true
* 20181204: true
我需要在子日期下查询并返回那些包含特定范围内日期的对象(id_child的)。
我已经尝试过类似的事情:
query = db.reference(..).child(child_n/child_n_1).order_by_child(dates).start_at('specific_date').end_at('specific_date').get() not working, and return 0 objects!
我使用了“ .indexOn”:
"database_id": {
"child_n": {
"child_n_1": {
".indexOn": ["dates_subid_child_n_1"]
}
}
},
query = db.reference(..).child(child_n/child_n_1).order_by_child(dates).end_at('specific_date').get() working but return all objects.
任何想法如何执行此查询?
答案 0 :(得分:0)
您快到了。使用order_by_child
时,节点按该子属性的值排序。在这种情况下,您要按每个子节点的key
进行排序,这与order_by_key
相同:
db.reference(..).child(child_n/child_n_1/dates).order_by_key().start_at('specific_date').end_at('specific_date').get()