首页 > 解决方案 > Firestore 获取子集合数据 onDelete

问题描述

我正在制作一个梦幻足球应用程序。创建联赛时,联赛成员的子集合存储在用户的个人资料 (userProfiles/{userId}/myLeagues) 和联赛本身的members集合 (leagues/{leagueId}/members) 中。

当联赛被删除时,我需要翻转该members集合以获取所有用户的 ID,然后从他们的用户资料中删除联赛。我正在尝试使用onDelete来获取该members集合,但它在deletedLeague.

exports.deleteLeague = functions.firestore
    .document('leagues/{leagueId}')
    .onDelete((snap, context) => {
        const deletedLeague = snap.data();
    });

如何members从快照中获取集合?还是有其他方法可以完成这项任务?

标签: javascriptfirebasegoogle-cloud-firestoregoogle-cloud-functions

解决方案


子集合中的文档不会在传递给函数的文档快照中。您必须查询子集合中的任何文档。例如:

snap.ref.collection("members").get()
.then(querySnapshot => {
    // iterate the documents
})

推荐阅读