Firestore使用OR

时间:2018-05-02 19:33:04

标签: android google-cloud-firestore

我想查询集合中的对象,其中" equipmentOption" == equipmentOption || " equipmentOption" == -1。

在研究了这个问题之后,我得出的结论是Firestore Querys无法做到这一点。这是正确的还是有办法像这样查询?

所以我的解决方案就是有两个单独的查询:

Task<QuerySnapshot> routinesWithEquipmentOption = doc.getReference().collection("Routines").whereEqualTo("equipmentOption", programm.getEquipmentOption()).get();
Task<QuerySnapshot> routinesWithoutEquipmentOption = doc.getReference().collection("Routines").whereEqualTo("equipmentOption", -1).get();

并以某种方式合并此查询。这就是我所取得的成就:

Tasks.whenAllSuccess(routinesWithEquipmentOption, routinesWithoutEquipmentOption).addOnSuccessListener(new OnSuccessListener<List<Object>>() {
                    @Override
                    public void onSuccess(List<Object> objects) {

                    }
                });

在这个OnSuccessListner中,我得到了一个对象列表。这让我感到困惑,这些对象包含哪些信息。有没有办法将它们转换为DocumentSnapshot,以便我可以调用.toObject()?此外,似乎我没有得到任何回报,因为onSuccess从未被调用过。

0 个答案:

没有答案