问题描述
我正在使用 Firebase RTDB,使用 pyrebase4 python3 包装器:pyrebase
我有两个 python3 模块,它们的代码几乎与这个小示例项目相同,但是当我运行代码时却失败了。
出勤.py
attendance_within_date = self.firebase_db.child(f"{w_game}/{attendance_db_child}").order_by_key().start_at(str(t_start_time)).end_at(str(t_end_time)).get()
任务.py
quest_within_date = self.firebase_db.child("genshin/quests").order_by_key().start_at(str(e_start_time)).end_at(str(e_end_time)).get()
quest.py 代码行工作得很好,但这里的出席率.py 不断收到此错误,从日志回溯:
2021-06-23 13:41:26,638 ERROR A1RPGAttendance,aggregate_attendance_firebase - Incorrect inputs?: [Errno 400 Client Error: Bad Request for url: https://SECRET.firebaseio.com/%20genshin/attendance_test.json?orderBy=%22%24key%22&startAt=%221621839600.0%22&endAt=%221621839600.0%22] {
"error" : "Provided string key index is invalid"
}
我不确定问题是什么。 Firebase 规则对每个文档/集合具有相同的规则。
解决方法
firebaser 在这里
您尝试过滤的值中有一个点 (.
),但键中不允许存在点。您需要从传递给 Firebase 的值中修剪这些值。
我承认还必须与数据库工程师仔细核对,因此他们提交了内部问题以改进该错误消息。