我正在编写连接到Cloud Firestore
的Python代码。如果文档的id是1
if docid == 1:
# do not create document
else:
db.collection(u'collection_of_work').document(docid).set(data)
如何"不创建"一个文档吗?
我认为您可以使用if语句(我假设您知道docid
,因为您想使用docid
设置文档):
if docid != 1:
db.collection(u'collection_of_work').document(docid).set(data)
你不可能自动做到这一点。你得检查一下。因此,您需要创建一个引用,该引用指向具有特定ID的文档并读取它。如果它已经存在,则只需将该数字加1并创建另一个set()操作。
尝试使用firebase-admin
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
cred = credentials.Certificate(
"firestore-cred.json"
)
firebase_admin.initialize_app(cred)
db = firestore.client()
query_docid = db.collection(u'collection_of_work').document(u"1", u"==", docid).get()
if query_docid:
print('do not create docuement')
else :
db.collection(u'collection_of_work').document(docid).set(data)
我的问题也是类似的。我通过Barış Şenyerli得到了答案
如果你找不到答案,这个人会帮你的。
祝一切顺利