断言失败:第 677 行第 11 行:'field == orders[0][0]'
Failed assertion: line 677 pos 11: 'field == orders[0][0]'
我不知道为什么在使用两个“where”时无法从 flutter 访问数据。有什么可以帮我解决这个问题吗?我想要的是在一段时间内获取所有文件
错误
The initial orderBy() field '[[FieldPath([dateEnd]), false]][0][0]' has to be the same as the where() field parameter 'FieldPath([date])' when an inequality operator is invoked.
'package:cloud_firestore/src/query.dart':
package:cloud_firestore/src/query.dart:1
Failed assertion: line 677 pos 11: 'field == orders[0][0]'
我的代码
FirebaseFirestore.instance.collection(widget.collectionDbName)
.where('dateEnd', isGreaterThanOrEqualTo: DateTime.now())
.orderBy('dateEnd')
.where('date', isLessThanOrEqualTo: DateTime.now())
.orderBy('date', descending: widget.sortingOrderDesc)
.snapshots(),
您为两个 where 子句使用了两个不同的字段,并且使用了无效的 <= & >= 范围。
根据 Firebase documentation 您只能在单个字段上执行范围(<、<=、>、>=)或不等于 (!=) 比较。
有效示例:
const q1 = query(citiesRef, where("state", ">=", "CA"), where("state", "<=", "IN"));
const q2 = query(citiesRef, where("state", "==", "CA"), where("population", ">", 1000000));
我不知道为什么在使用两个“where”时无法从 flutter 访问数据。有什么可以帮我解决这个问题吗?我想要的是在一段时间内获取所有文件 错误
The initial orderBy() field '[[FieldPath([dateEnd]), false]][0][0]' has to be the same as the where() field parameter 'FieldPath([date])' when an inequality operator is invoked.
'package:cloud_firestore/src/query.dart':
package:cloud_firestore/src/query.dart:1
Failed assertion: line 677 pos 11: 'field == orders[0][0]'
我的代码
FirebaseFirestore.instance.collection(widget.collectionDbName)
.where('dateEnd', isGreaterThanOrEqualTo: DateTime.now())
.orderBy('dateEnd')
.where('date', isLessThanOrEqualTo: DateTime.now())
.orderBy('date', descending: widget.sortingOrderDesc)
.snapshots(),
您为两个 where 子句使用了两个不同的字段,并且使用了无效的 <= & >= 范围。
根据 Firebase documentation 您只能在单个字段上执行范围(<、<=、>、>=)或不等于 (!=) 比较。
有效示例:
const q1 = query(citiesRef, where("state", ">=", "CA"), where("state", "<=", "IN"));
const q2 = query(citiesRef, where("state", "==", "CA"), where("population", ">", 1000000));