我正在创建一个firestore文档,它不在现有集合的根级别,而是更深一层:
const response = await addDoc(
collection(
firestore,
'stats', //collection
'dayStats', //document
'years', //collection
'2023', //document
'january', //collection
),
statData
);
在创建时,整个集合结构还不存在,而只是其中的一部分(stats/dayStats/years)。
最终发生的事情是统计文档成功地创建在正确的位置,但不是中间文档。他们是斜体,并有一个警告说:"这个文档不存在,它将不会出现在查询或快照"。
我想这意味着我需要明确强制创建这些中间文档?是否有某种配置可以传递给函数,如果中间文档不存在,它将在路径中创建中间文档?或者我需要在每次创建一个文档时手动执行此操作,它有一个可能不存在的祖先文档?
1条答案
按热度按时间6kkfgxo01#
中间文档是斜体的,并且有一个警告说“此文档不存在,它不会出现在查询或快照中”。我想这意味着我需要明确强制创建这些中间文档?
实际上,中间父文档并不存在,如果您想在这些文档中存储一些数据,则需要创建它们**。另一方面,如果您不需要在中间文档中存储任何数据,则不需要创建它们,因为子子集合的存在根本不需要它们。
是否有某种类型的配置我可以传递给函数,这将只是创建路径中的中间文档,如果他们还不存在?
没有
每当我创建一个具有可能不存在的祖先文档的文档时,是否需要手动执行此操作?
是的,您需要在代码中创建父文档**,如果您想在这些文档中存储一些数据**。最好使用批处理写入,以确保父文档和子文档都是通过原子操作创建的。
例如: