计算 FaunaDB 集合中的所有文档

Counting all documents in a FaunaDB collection

有没有办法计算 FaunaDB 集合中的所有文档?

假设我有一个 users 集合并且我定义了一个 all_users 索引。计算数据库中 users 集合中所有文档的最佳方法是什么?

更新:在下面扩展@Keston 的回答

  1. 不再需要 all_users 索引。 Fauna 现在自动为每个集合维护一个内置的默认索引,您可以通过 Documents(Collection('<collection>')).

    访问它
  2. 您可以这样计算所有用户:

Count(Documents(Collection('users')))

最好的方法是在数据更新事务中维护自己的聚合,因此在编写新用户时更新计数器文档。我在这里写了一篇关于如何做到这一点的博客 post:https://blog.fauna.com/using-acid-transactions-to-combine-queries-and-ensure-integrity(参见最后一个示例)

现在 faunadb 在最新版本中提供了 count() 函数,这是维护聚合的另一种选择

https://docs.fauna.com/fauna/current/api/fql/functions/count