Tap*_*jee 4 firebase angularfire ionic-framework google-cloud-firestore
在Cloud Foreshore 的这份文档中提到,“请求一个集合 ID 列表,您需要为读取一个文档付费”。
现在我在我的项目中使用 AngularFire 和 Ionic3。我的要求是仅从具有 where 条件的集合中获取集合 ID。如果我执行以下操作,结果中的读取次数 = 文档数。
let snap = this.afs.collection('path').ref
.where('field', "==",'data').get();
snap.forEach(x => {
list.push(x.id);
});
Run Code Online (Sandbox Code Playgroud)
我无法使用getCollections()我在几个地方找到的方法作为解决方案。
如果您有解决方案,请告诉我。
FirestoregetCollections()方法仅存在于服务器端 SDK 中,它按单次读取操作收费。但正如Doug 回答的那样,它返回集合ID/名称,而不是文档 ID。
要在客户端获取文档 ID,您需要阅读整个文档。因此,这将按照您阅读的文档数量收费,并且会为每个文档中的所有数据消耗带宽。
在服务器上,您可以使用该select()方法获取仅包含文档 ID 的列表。您仍然需要为阅读每个文档付费,但它会消耗更少的带宽。
看:
听起来您想知道是否有一种方法可以获取集合中的所有文档 ID,而无需读取每个文档。目前这是不可能的。使用 Firestore 客户端 SDK 时,您唯一的选择是查询整个集合,这会将每个文档的全部内容传输到客户端。
| 归档时间: |
|
| 查看次数: |
2882 次 |
| 最近记录: |