Запрос
FirebaseFirestore.getInstance().collection("my_collection")
.whereEqualTo(FieldPath.documentId(), docId)
.whereEqualTo("int_field", intValue)
.whereGreaterThanOrEqualTo("another_int_field", anotherIntValue);
кидает
"INVALID_ARGUMENT: Cannot have inequality filters on multiple properties: another_int_field"
Если я уберу фильтрацию по documentId
, это сработает:
FirebaseFirestore.getInstance().collection("my_collection")
.whereEqualTo("int_field", intValue)
.whereGreaterThanOrEqualTo("another_int_field", anotherIntValue);
Если я уберу фильтрацию по another_int_field
, это также сработает:
FirebaseFirestore.getInstance().collection("my_collection")
.whereEqualTo(FieldPath.documentId(), docId)
.whereEqualTo("int_field", intValue);
То, как я это вижу, whereEqualTo(FieldPath.documentId(), docId)
обрабатывается так, как если бы это был фильтр неравенства, но игнорируется при сообщении об ошибках.
Почему? Как? Чего мне не хватает?