首页 > 解决方案 > 如何从集合中的所有文档中获取集合中对某个整数字段具有最高值的所有文档

问题描述

我有一个名为“players”的 Firestore 集合,“players”中的每个文档都包含一个名为“score”的整数字段。我想从“玩家”集合中的所有文档中获取“玩家”集合中具有最高“分数”值的所有文档。换句话说,我试图在“玩家”集合中找到得分并列第一的所有文档。我该如何做到这一点?我找到了一种在集合中获得最高“分数”的方法,但是如何获得所有“分数”最高的文档?谢谢!

标签: javascriptfirebasegoogle-cloud-firestore

解决方案


这对于单个查询是不可能的(至少不可靠,并且不会超出您想要的最小文档数量)。您需要做的是请求多个文档(可能限制为 10 个),然后过滤掉没有得分最高的文档。如果所有文档都共享高分,则需要使用分页请求下一批,并再次过滤掉不需要的文档。


推荐阅读