首页 > 解决方案 > 查询中的文档 ID 和排序依据引发错误 (Firestore)

问题描述

当我试图从 Firestore 获取某些文件时,

我收到了错误:

不等式过滤器属性和第一排序顺序必须相同:__name__ 和字段

在使用此查询索引我的 Firestore 数据库时:

db.collection("collection").whereField(.documentID(), in: array).order(by: "field")

此查询在没有 order by (订购 int)的情况下工作正常。

问题似乎是在查询中使用文档 ID 和 order by 语句会引发错误。

有没有解决这个问题的方法或解决方案?

谢谢!

标签: iosdatabasefirebasegoogle-cloud-firestore

解决方案


Firestore 无法执行此查询,因为“in”过滤器使用与您的排序顺序不同的文档 ID(内部称为“__name__”)。

最简单的解决方法是简单地对应用代码中的文档进行排序。由于“in”查询最多只能返回 10 个文档,因此这在现代硬件上根本不会造成真正的问题。


推荐阅读