我在我的项目中使用Firestore,所以我想在我的项目中显示所有集合名称。
从Firebase项目中获取所有集合名称是否可行。
谢谢..
答案 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
。