Firebase 如何修复firestore错误,该错误抱怨相等筛选器上的order by
这很有效Firebase 如何修复firestore错误,该错误抱怨相等筛选器上的order by,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,这很有效 collection .where('startDate', '>=', startDate) .get(); 这将导致错误 collection .where('startDate', '>=', startDate) .where('startDate', '<=', endDate) .get(); 错误 错误:order by子句不能包含具有相等筛选器startDate的字段 我不明白这个错误,也不知道如何修复它。我
collection
.where('startDate', '>=', startDate)
.get();
这将导致错误
collection
.where('startDate', '>=', startDate)
.where('startDate', '<=', endDate)
.get();
错误
错误:order by子句不能包含具有相等筛选器startDate的字段
我不明白这个错误,也不知道如何修复它。我在firestore中的数据类型是日期。文档允许范围查询,只要它是同一个字段,所以我不确定为什么不起作用。结果表明startDate/endDate变量是一个整数,一旦我将其更改为日期对象,查询就开始起作用 结果表明startDate/endDate变量是一个整数,一旦我将其更改为日期对象,查询就会开始工作 如果startDate和endDate相同,也会出现该错误,例如:
let startDate = new Date('1980-12-01')
let endDate = new Date('1980-12-01')
解决办法是:
let startDate = new Date('1980-12-01 00:00:00')
let endDate = new Date('1980-12-01 23:59:59')
如果startDate和endDate相同,也会出现该错误,例如:
let startDate = new Date('1980-12-01')
let endDate = new Date('1980-12-01')
解决办法是:
let startDate = new Date('1980-12-01 00:00:00')
let endDate = new Date('1980-12-01 23:59:59')
我得到了相同的错误,因为我在两个where子句中使用了完全相同的字符串
.where("field", ">=", "somestring").where("field", "<=", "somestring")
我得到了相同的错误,因为我在两个where子句中使用了完全相同的字符串
.where("field", ">=", "somestring").where("field", "<=", "somestring")
如果order by和where等于同一个字段,则该字段不应为布尔字段。实际上,这不是必需的。因为如果添加等于,则会得到true或false。这就是为什么会出现错误 例:
如果你的问题在上面。如果order by和where equal的字段相同,则它将不起作用。。它不应该是布尔字段。实际上它不是必需的。因为如果添加equals,则会得到true或false。。这就是为什么会出现错误的原因 例: 如果你的问题在上面。这行不通
Firestore firestore_db = getFirestoreInstance();
Query query=firestore_db.collection("collection").orderBy("isAllow",Direction.DESCENDING).whereEqualTo("isAllow", false);