这是一个基于使用 Firestore REST API 的技巧。
使用 listDocuments 方法列出集合的文档时,您可以使用掩码查询参数定义要返回的字段。
诀窍如下:如果您在掩码中指定一个不存在的字段,您会收到每个文档的以下数据:name(这是 Firestore 文档的路径)、createTime 和 updateTime。
例如,下面是调用以下 URL (GET) 的响应:
https://firestore.googleapis.com/v1/projects/my-firebase-project-id/databases/(default)/documents/my-collection?mask.fieldPaths=dummy
回复:
{
"documents": [
{
"name": "projects/my-firebase-project-id/databases/(default)/documents/my-collection/0J60r8Vp5fkTtCRRITky",
"createTime": "2021-11-07T16:20:15.487153Z",
"updateTime": "2021-11-07T16:20:15.487153Z"
},
{
"name": "projects/my-firebase-project-id/databases/(default)/documents/my-collection/JQJFwy7i0BmIV8Wb5Yds",
"createTime": "2021-11-07T16:21:26.473099Z",
"updateTime": "2021-11-07T16:21:26.473099Z"
}
]
}
如您所见,很容易确定文档的 ID,因为它们是路径的最后一个元素。
再次,我并不是说这是一个完美的解决方案但它的工作原理是,与通过其中一个客户端 SDK 完成的查询相比,它返回的数据更少。您只需发出一个 HTTP 调用而不是使用其中一个客户端 SDK,您可以很好地并行使用这两个(即 HTTP 调用和使用 SDK)。