Firebase实时数据库批量获取12000条产品_id字段仅返回2000条的问题求助
Firebase实时数据库批量获取12000条产品_id字段仅返回2000条的问题求助
大家好,我最近在使用Firebase实时数据库时碰到了个头疼的问题,想请教下社区的各位大佬:
我已经把包含12000个产品的数据上传到Firebase实时数据库了,每个产品都有多个字段(比如_id、name、price这类)。现在我只想提取所有产品里的_id字段,但不管怎么尝试,最多只能拿到大概2000条数据,剩下的始终获取不到。
这是我目前写的Python代码:
import firebase_admin from firebase_admin import db, credentials import sys import requests import logging # Set the default encoding to utf-8 sys.stdout.reconfigure(encoding='utf-8') # Configure logging logging.basicConfig(level=logging.INFO) # Initialize Firebase cred = credentials.Certificate("credentials.json") firebase_admin.initialize_app(cred, {"databaseURL": "https://---.firebasedatabase.app/"}) # Create a reference to the Firebase Realtime Database ref = db.reference("/products") # Fetch all data directly def fetch_all_data(): try: # 原本是直接拉取全部数据,但只返回了约2000条 data = ref.get() if data: ids = [product.get('_id') for product in data.values() if product.get('_id')] logging.info(f"获取到{len(ids)}条_id数据") return ids else: logging.info("未获取到任何数据") return [] except Exception as e: logging.error(f"获取数据出错:{str(e)}") return [] # 调用数据获取函数 fetch_all_data()
我猜测会不会是Firebase有单次读取的数据量限制?或者我的代码哪里处理不当导致数据被截断了?有没有大佬能帮我分析下原因,或者给个可行的解决方案?比如能不能分批读取所有数据,确保能拿到全部12000条产品的_id?
另外我已经检查过数据库权限规则,目前是开放读取权限的,应该不是权限的问题。
备注:内容来源于stack exchange,提问作者Bee
相关产品推荐
相关产品推荐

