查询
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)
被视为不等式过滤器,但在错误报告时被忽略。
为什么?怎么样?我想念什么?