在 Cloud Firestore 中查找子集合名称
在 Cloud Firestore 中,您通常会将数据组织到包含文档和子集合的层次结构中。检索子集合名称对于导航此数据结构至关重要。
问题:
从文档中检索子集合名称可能看起来很直观,但在移动和 Web 中这是不可能的客户端 SDK。当您使用 get() 获取文档时,它仅返回字段值,而不返回任何嵌套集合名称。
原因:
Firestore 的客户端 SDK 优先考虑安全性和性能。暴露子集合名称可能会引入潜在的漏洞并影响性能。
服务器端 SDK 的解决方案:
在 Node.js 和其他服务器端 SDK 中,您可以访问使用 Collection.listCollectionIds() 方法的子集合名称。此方法提供了一种安全且高效的方法来检索文档中的子集合名称。
示例:
const firestore = require('firestore.v1beta1'); const client = firestore.v1beta1({ // optional auth parameters. }); const formattedParent = client.anyPathPath("PROJECT", "DATABASE", "DOCUMENT", "ANY_PATH"); client.listCollectionIds({parent: formattedParent}).then((responses) => { const resources = responses[0]; for (var i = 0; i < resources.length; ++i) { // doThingsWith(resources[i]) } }) .catch((err) => { console.error(err); });
此解决方案提供了一种安全且高效的方法来检索子集合服务器端环境中的名称。对于移动和 Web 客户端,您可能需要考虑替代数据结构或仔细管理子集合名称。
以上是如何检索 Cloud Firestore 中的子集合名称?的详细内容。更多信息请关注PHP中文网其他相关文章!