【发布时间】:2019-10-23 20:36:56
【问题描述】:
我正在做一个将用户数据存储在云 Firestore 上的网站。我用它来一次获取用户文档的所有子集合:
db.collection('users').doc(userID).getCollections().then( collections => {
/*I get my collections and I enjoy it :D*/
})
问题是无法识别此功能。我在控制台上找到了这条消息:
TypeError: db.collection(...).doc(...).getCollections is not a function
我知道我可以获取所有子集合,但由于配额有限,我想保存最大的读数。所有其他 firebase 函数都在我的项目中工作(如 get() 或 set()),getCollections() 在文档中。
感谢您的帮助!
【问题讨论】:
-
我使用 React。但也许我必须导入一些东西?我不知道。
-
@ValentinGegoux 所以你是用 Node.js 编写的,但是它正在被编译并作为静态资源提供给浏览器......所以这意味着你确实在使用 firebase Web 客户端,它没有有
getCollections。这就是为什么我问你是否确定它是 Node.js :P -
你是否使用 node.js 并不重要。重要的是这段代码 JavaScript 运行的位置。如果它在浏览器中运行,则会出现错误消息,因为客户端 SDK 中没有
getCollections()。如果此代码在 Node.js 脚本中运行服务器端,它可能取决于您使用的 Firebase Admin SDK 的版本。目前没有足够的信息让我们确定它是哪一个,或者它是否可能完全是别的东西。 -
感谢您的回答。我做了一些研究,我开始明白了。我不使用 Firebase Admin SDK,而是使用客户端 SDK(我猜是最基本的),并且我不使用任何服务器或其他 Node 环境。所以我的代码在客户端运行。这意味着,根据文档,我不应该尝试使用此功能。你有另一种方法来获得一次子收藏吗?我可以得到每个用户的每个子集合,但是读取太多了......
标签: javascript node.js reactjs firebase