是否可以更改 firestore 中的文档 ID?

Ger*_*rmo 2 python google-cloud-firestore

我使用自定义类来帮助构建文档字段和更新,因此我确保没有机会拥有不同的字段名称。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
        })
Run Code Online (Sandbox Code Playgroud)

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

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

我尝试使用

someIssue.ref.id = <newvalue>
Run Code Online (Sandbox Code Playgroud)

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

有没有办法覆盖自动生成的docID?

Dou*_*son 6

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