如何使用 Firebase 事务创建子集合?



当我的用户被创建时,我运行事务(functions.auth.user((.onCreate(((在某些集合中创建一些文档。但是现在,另外,我需要创建一个这样的路径:

/collection1/{uid}/subcol1/{id}/subcol2/

"集合"、"子col1"、"子Col2"应该有一个文档。我该怎么做?首先,我不知道如何将子集合添加到创建的集合文档({uid}(。我有这样的东西:

const ref = admin.firestore().doc(`collection1/${event.uid}`);
return admin.firestore().runTransaction(async (transaction) => {
const snapshot = await transaction.get(ref);
if (!ref.exists) {
transaction.set(
snapshot,
{
fields: {
field1: 0,
field2: 0,
},
},
{ merge: true }
);
}
});

我应该如何添加子集合以具有上述路径?

创建子集合不需要特殊代码。 集合和子集合在添加第一个文档时自动创建,并在删除最后一个文档时删除。 事务和正常写入都是一样的。

这意味着您实际上需要在事务中编写一个文档才能显示子集合。你可以像现在一样做到这一点transaction.set(). 您所要做的就是像ref一样构建对文档的引用,并提供数据。

const ref2 = admin.firestore()
.collection("collection1").
.doc(event.uid)
.collection("your-subcollection")
.doc("your-document);
transaction.set(ref2, { your: data });

如您所见,它与您现在正在做的事情没有什么不同。

相关内容

  • 没有找到相关文章

最新更新