[英]how to delete documents in batch in firestore using python
I've a collection named XYZ in my firestore.我的 Firestore 中有一个名为 XYZ 的集合。 And there are 500 documents with different fields in it.
其中有 500 个不同领域的文档。 I have to delete multiple documents using a where clause from the collection.
我必须使用集合中的 where 子句删除多个文档。
cred = credentials.Certificate('XXXX')
app = firebase_admin.initialize_app(cred)
db = firestore.Client()
batch = db.batch()
doc_ref = db.collection('collection_name').where(u'month', '==', 07).get()
for doc in doc_ref:
batch.delete(doc)
batch.commit()
I tried this but ending up with an error我试过这个,但最终出现错误
AttributeError: AttributeError: 'DocumentSnapshot' object has no attribute '_document_path'
Looking for help!寻求帮助!
You are passing a DocumentSnapshot object to batch.delete()
, which is not allowed.您正在将 DocumentSnapshot 对象传递给
batch.delete()
,这是不允许的。 You must pass a DocumentReference object instead, which can be found in a property of a DocumentSnapshot.您必须改为传递 DocumentReference 对象,该对象可以在 DocumentSnapshot 的属性中找到。
batch.delete(doc.reference)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.