ios - 查询中的文档 ID 和排序依据引发错误 (Firestore)
问题描述
当我试图从 Firestore 获取某些文件时,
我收到了错误:
不等式过滤器属性和第一排序顺序必须相同:__name__ 和字段
在使用此查询索引我的 Firestore 数据库时:
db.collection("collection").whereField(.documentID(), in: array).order(by: "field")
此查询在没有 order by (订购 int)的情况下工作正常。
问题似乎是在查询中使用文档 ID 和 order by 语句会引发错误。
有没有解决这个问题的方法或解决方案?
谢谢!
解决方案
Firestore 无法执行此查询,因为“in”过滤器使用与您的排序顺序不同的文档 ID(内部称为“__name__”)。
最简单的解决方法是简单地对应用代码中的文档进行排序。由于“in”查询最多只能返回 10 个文档,因此这在现代硬件上根本不会造成真正的问题。
推荐阅读
- java - 覆盖克隆方法,但它仍然受到保护
- google-cloud-sql - 如何从具有集成的模型创建的表单中更改下拉列表项
- mql4 - 不同时期和图表时间范围内返回函数值的问题
- ssis - 上传时 SFTP 下载
- c# - C# ExecuteScalar() null 计数与选择
- sql-server - Openfire:org.jivesoftware.openfire.pubsub.PubSubPersistenceManager - 关键字“LEFT”附近的语法不正确
- docker - 使用哪个 GCP Compute Engine 实例来构建 Docker 映像?
- sql - 将 varchar 转换为数字噩梦
- java - 如何修复:java:not a statement,以及其他错误
- java - AsyncTask 类的 onProgressUpdate() 不起作用