如何只获取没有数据的文档ID? (移动)

时间:2020-10-19 04:40:14

标签: firebase flutter google-cloud-firestore

我需要在“用户”集合中获取所有文档ID(仅ID),而没有文档数据。 需要保存流量数据并减少在Firestore中读取的文档。

例如,我需要获取集合中的所有数字(“用户”)并将其添加到列表中。 它们可以是数千个,我想节省流量并获得最佳性能。 它可以用于移动SDK? enter image description here

1 个答案:

答案 0 :(得分:0)

收藏小(少于100个文档)

db.collection('...').get().then(snap => {
   size = snap.size // will return the collection size
});

大收藏集

您可以维护特殊集合以将用户数量存储在users集合中。每当您需要读取用户数量时,都可以调用此特殊集合以保留用户数量。这样,您可以节省很多读取操作。
当新用户注册到系统中时,您可以使用来增加此特殊集合的值

FieldValue.increment()

Firestore现在允许完全自动地增加计数器,并且无需事先读取数据。这样即使在从多个源同时更新(以前使用事务解决)时,也可以确保我们具有正确的计数器值,同时还减少了我们执行的数据库读取次数。

  • Special Collection是一个新集合,仅用于维护用户数并存储每个用户的文档ID

服务器SDK(管理SDK)

db.collection('foo').select()

服务器将向您发送匹配的文档,但会省略查询结果中的所有字段。