使用 Get 的奇怪行为错误 - 提供的字符串键索引无效

Weird Behavior Error using Get - Provided string key index is invalid

我正在使用 Firebase RTDB,使用 pyrebase4 python3 包装器:pyrebase

我有两个 python3 模块,对于这个小示例项目,它们的代码几乎相同,但是当我 运行 代码时,它失败了。

attendance.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()

quest.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 行代码工作得很好,但是这里的 attendance.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 规则对每个 document/collection.

都有相同的规则

firebaser 在这里

您尝试过滤的值中有一个点 (.),但键中不允许存在点。您需要 trim 那些来自您传递给 Firebase 的值。

我承认还必须与数据库工程师仔细核对,因此他们提交了一个内部问题来改进该错误消息。