创建Firestore子集合时触发Unknown field for WriteResult: Collection异常
解决Firestore创建子集合时的“Unknown field for WriteResult: Collection”异常
问题根源:你代码里的第二行,document('document1').set({"key":"value"})执行后返回的是WriteResult对象,而非文档引用。WriteResult没有collection()方法,所以第三行调用def_ref.collection()才会抛出异常。
修正后的代码:
fire_client = firestore.Client() # 先获取文档引用,再执行写入操作 doc_ref = fire_client.collection('collection_parent').document('document1') doc_ref.set({"key":"value"}) # 基于文档引用创建子集合并写入数据 msg_ref = doc_ref.collection('collection_child').document('document2').set({"key1":"value1"})
补充说明:Firestore的set()、update()这类写入方法返回的都是WriteResult,它仅包含写入时间戳等元数据,不具备文档引用的操作能力。要创建子集合,必须基于调用document()后得到的文档引用对象来操作。
内容的提问来源于stack exchange,提问作者Sridhar Srinivasan
相关产品推荐
相关产品推荐

