首页 > 解决方案 > 是否可以更改 Firestore 中的文档 ID?

问题描述

我正在使用自定义类来帮助构建文档字段并进行更新,因此我确保没有机会拥有不同的字段名称。IE:

class issue:
    def __init__(self):
        self.ref = firestore.client().collection("Issue").document()
        self.detail = "a"
    def create(self):
        self.ref.set({
            detail : self.detail
        })

因此,“someIssue = issue()”创建了一个对象,其自动文档 ID 引用为“someIssue.ref”,字符串为“someIssue.detail”。并且“someIssue.create”使用已定义的 docReference 将该数据写入 Firestore。我的类中有很多方法,例如 fetch() 和 update()。

我现在要做的是更改此 docReference 以指向其他一些预先存在的文档 ID。

我尝试使用

someIssue.ref.id = <newvalue>

但它失败了'AttributeError:无法设置属性'

有什么方法可以覆盖自动生成的 docID?

标签: pythongoogle-cloud-firestore

解决方案


创建文档 ID 后,您将无法更改它。您必须从一开始就使用正确的 ID,或者将原始文档的内容复制到具有所需 ID 的新文档中,然后删除原始文档。


推荐阅读