Javascript 使用Firestore对两个不同文档属性进行筛选和排序的任何解决方案 问题

Javascript 使用Firestore对两个不同文档属性进行筛选和排序的任何解决方案 问题,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,我正在尝试使用firestore对两个不同的文档属性进行筛选和排序。我知道文件中说这是不可能的。但我相信一定会有一个解决方案,也许是在客户端 理解力 假设你有一堆文章。在这些文章中,有一些属性,如视图和时间。假设我想排序,这样我就能在一周内得到浏览量最大的文章。既然Firestore不允许这样的事情,我该如何创建它?有没有办法在客户端或其他解决方案上处理它 我知道这是无效的,但也许有一种方法可以让它发挥作用: admin.firestore().collection("articles

我正在尝试使用firestore对两个不同的文档属性进行筛选和排序。我知道文件中说这是不可能的。但我相信一定会有一个解决方案,也许是在客户端

理解力 假设你有一堆文章。在这些文章中,有一些属性,如
视图
时间
。假设我想排序,这样我就能在一周内得到浏览量最大的文章。既然Firestore不允许这样的事情,我该如何创建它?有没有办法在客户端或其他解决方案上处理它

我知道这是无效的,但也许有一种方法可以让它发挥作用:

admin.firestore().collection("articles").where("time", "<=", mintime).orderBy("views", "desc")
admin.firestore()集合(“文章”)。其中(“时间”
但我相信一定会有一个解决方案,也许是在客户端


客户端解决方案是查询所有可能的文档,然后在应用程序中对它们进行排序,而不是依靠Firestore为您进行排序。

似乎是唯一的解决方案。但是,如果您有大约1000篇文章,那么检索所有这些文章然后在客户端继续排序可能会非常昂贵,因此我是r我一直希望能有一些魔术来解决这个问题。没有什么魔术。当你在查询中的某个字段上有一个范围过滤器时,出于性能原因,你必须在排序中使用该字段。Firestore不会将所有内容加载到它自己的内存中,因为这不会按照Firestore要求的方式进行扩展。