代码之家  ›  专栏  ›  技术社区  ›  Jakub Pastuszuk

Python-firebase数据库浅层数据获取

  •  1
  • Jakub Pastuszuk  · 技术社区  · 7 年前

    我们知道,Firebase实时数据库 is one big JSON tree :

    因为Firebase实时数据库允许嵌套32层的数据,所以您可能会认为这应该是默认的结构。但是,在数据库中的某个位置获取数据时,也会检索其所有子节点。

    现在我需要进入的数据库有以下结构:

    root
    |
    |- category 1
    |  |
    |  |
    |  |-sub category 1
    |  |  |
    |  |  |- record 1
    |  |  |  |- (...)
    |  |  |
    |  |  |- record 2
    |  |  |   |- (...)
    |  |  |
    |  |  |- (...) record n
    |  |
    |  |
    |  |- (...) sub category n
    |
    | - (...) category n
    

    每个类别在中有数千个子类别,每个子类别有数千条记录。

    有没有什么方法可以使用python和office迭代实时数据库 firebase-admin python SDK 只获取数据库的浅拷贝(又称密钥),然后获取某些行?

    现在我只找到了使用官方SDK获取包含所有相应数据的密钥的方法:

    import firebase_admin
    from firebase_admin import credentials
    from firebase_admin import db
    
    # Fetch the service account key JSON file contents
    cred = credentials.Certificate('firebase-adminsdk.json')
    # Initialize the app with a service account, granting admin privileges
    firebase_admin.initialize_app(cred, {
        'databaseURL': 'https://<app_name>.firebaseio.com/'
    })
    
    ref = db.reference('category 1')
    print(ref.get())
    
    1 回复  |  直到 7 年前
        1
  •  5
  •   Hiranya Jayathilaka    7 年前

    Python管理SDK支持对引用的浅层读取。

    print(ref.get(shallow=True))

    请参阅文档: https://firebase.google.com/docs/reference/admin/python/firebase_admin.db#reference