是否可以在Firestore中更改文档ID?

时间:2019-08-03 15:22:53

标签: python google-cloud-firestore

我正在使用自定义类来帮助构造文档字段和更新,因此我确保没有机会使用其他字段名称。即:

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?

1 个答案:

答案 0 :(得分:1)

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