【问题标题】:Firestore delete key within nested dictionary (map)嵌套字典(地图)中的 Firestore 删除键
【发布时间】:2019-10-30 06:06:36
【问题描述】:

我正在尝试删除嵌套字典中值为 0 的键:

{
"keyA": {
        "keyA1": 10,
        "keyA2": 0,
        "keyA3": 3,
    },
"keyB": {
        "keyB1": 2,
        "keyB2": 6,
        "keyB3": 0,
    },
}

我用.DELETE_FIELD尝试了所有组合

database.collection("cases").document("ari_test").update({
        f"someMap": {
            "keyA": {
                database.field_path("keyA2"): firestore.DELETE_FIELD
            }

        }
    })

我得到错误:

ValueError: Cannot update with nest delete: FieldPath('someMap','keyA','`keyA2`')

我是否需要.get() 整个字典,在 python 中更新它然后覆盖 firestore 上的整个地图?

【问题讨论】:

    标签: python google-cloud-firestore


    【解决方案1】:

    使用path with dot-notation 更新嵌套字段,例如:

    database.collection('cases').document('ari_test').update({
            'someMap.keyA.keyA2': firestore.DELETE_FIELD
            })
    

    【讨论】:

      猜你喜欢
      • 2017-03-08
      • 1970-01-01
      • 2019-11-18
      • 2020-10-20
      • 2014-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多