我遇到一个奇怪的问题,即我们的父文档被标记为已删除。我正在插入这样的新文档:
const userDoc = admin.firestore().doc(`/user_bundles/${context.params.userId}/bundles/${chargeRecord.course_id}/media/${chargeRecord.media_type}`);
return userDoc.set(bundleDoc.data(), { merge: true });
但是,“ chargeRecord.course_id”文档被标记为已删除,导致空查询。
我遇到了另一个问题和答案,它解释了删除子集合时可能发生的情况。但需要明确的是,我们尚未删除此文档。它是为用户新创建的。
答案 0 :(得分:1)
文档和子集合不能像文件系统文件和目录那样工作。
创建根据文档ID组织的子集合不会隐式创建任何父文档。子集合不以任何方式绑定到父文档,除非通过您强加的组织。在不存在的文档ID下组织子集合是完全有效的。
以斜体显示的文档ID不必“删除”。之所以显示它们,是因为它们不存在,甚至可能根本不存在-您无法分辨出差异。
如果要存在任何文档,则必须编写一些代码来创建它并提供一些字段。如果您从未明确创建文档,则该文档将不存在。
如果删除文档,则其子集合仍然存在。