获取Firestore中的所有集合

时间:2018-01-15 07:34:00

标签: firebase google-cloud-firestore

我在我的项目中使用Firestore,所以我想在我的项目中显示所有集合名称。

从Firebase项目中获取所有集合名称是否可行。

谢谢..

3 个答案:

答案 0 :(得分:6)

获取顶级集合列表的公共API有限。移动客户端(Android,iOS,Web)没有API。 Node.js管理员客户端getCollections()上有Firestore来获取该列表。

如果您想在任何平台上获取列表,您应该将该列表自己保存在已知文档ID中的已知集合中。

答案 1 :(得分:4)

您实际上可以执行以下操作:

const admin =  require(firebase-admin);
const db = admin.firestore();

db.listCollections()
.then(snapshot=>{
    snapshot.forEach(snaps=>{
        console.log(snaps["_queryOptions"].collectionId);  // GET LIST OF ALL COLLECTIONS
    })
})
.catch(error=>console.log(error));

这适用于node.js 请记住,您将需要下载firebase-admin并为firebase服务器端进行必要的配置。

答案 2 :(得分:0)

您可以创建一个单独的集合(例如listOfCollections),其中包含所有其他集合名称作为文档,或者包含在一个文档中的字符串数组中。

然后,每当添加新集合时,首先将其名称添加到listOfCollections