【发布时间】:2021-08-06 22:34:43
【问题描述】:
【问题讨论】:
标签: firebase flutter dart firebase-realtime-database google-cloud-firestore
【问题讨论】:
标签: firebase flutter dart firebase-realtime-database google-cloud-firestore
从您的打印屏幕来看,子集合名称似乎是动态创建的,即您事先并不知道它们。
对于客户端 SDK(包括 Flutter 插件),没有方法可以列出文档的子集合。请参阅doc:“使用移动/网络客户端库无法检索集合列表”。
以下是两种常见的解决方法:
下面的article 使用代码示例详细说明了这两种方法(特别是可调用云函数的完整代码,我将其粘贴在下面)。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.getSubCollections = functions.https.onCall(async (data, context) => {
const docPath = data.docPath;
const collections = await admin.firestore().doc(docPath).listCollections();
const collectionIds = collections.map(col => col.id);
return { collections: collectionIds };
});
【讨论】: