Firebase Firestore:获取生成的文档ID(Python)

时间:2019-07-04 17:35:33

标签: python firebase google-cloud-platform google-cloud-firestore

我可以创建一个新文档(具有自动生成的ID),并像这样存储对它的引用:

my_data = {"key": "value"}
doc_ref = db.collection(u'campaigns').add(my_data)

我可以像这样访问数据本身:

print (doc_ref[0]) # prints {"key": "value"}

但是当我尝试访问doc_ref ID时,我无法:

# All of these throw attribute errors
doc_ref.get()
doc_ref.data()
doc_ref.id

There are other posts which suggest how to do this in Javascript,但都不适用于Python SDK!

如何访问我创建的文档的生成ID?

3 个答案:

答案 0 :(得分:1)

要在保存为Python之后获取ID:

例如,这将返回某些ID,例如 wlJQKyVDsIIpX0x3NBmt

doc_ref = db.collection('promotions').add(data)
return doc_ref[1].id

答案 1 :(得分:0)

文档尚不清楚,但是我终于可以使用它了:

doc_ref = db.collection(u'campaigns').document()
doc_ref.set(my_data)
print(doc_ref.id)

答案 2 :(得分:0)

即使在调用set方法之前,您也可以从文档中获取ID

doc_ref = db.collection(u'campaigns').document()
id = doc_ref.id

然后保存:

doc_ref(my_data)