我有一个查询,我想按开始日期排序并按结束日期过滤。
return FirebaseFirestore.instance
.collection("content")
.where("active", isEqualTo: true)
.where("end", isGreaterThanOrEqualTo: DateTime.now())
.orderBy("start", descending: true)
.snapshots();
Error:
当使用不等运算符时,初始 orderBy() 字段 '[[FieldPath([start]), true]][0][0]' 必须与 where() 字段参数 'FieldPath([end])' 相同被调用。
如果您包含带有范围比较的过滤器(、>=),则您的第一个排序必须位于同一字段
https://firebase.google.com/docs/firestore/query-data/order-limit-data#limitations https://firebase.google.com/docs/firestore/query-data/order-limit-data#limitations
所以你应该去
return FirebaseFirestore.instance
.collection("content")
.where("active", isEqualTo: true)
.where("end", isGreaterThanOrEqualTo: DateTime.now())
.orderBy("end", descending: true)
.orderBy("start", descending:true)
.snapshots();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)