Java Firestore查询结果不工作

Java Firestore查询结果不工作,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我有这样的Firestore文档设置: public class Item { String name; Map<String, Boolean> testMap; } 但当我尝试用下面的代码查询该值时,for()循环不起作用。我得到了I/Task:Successfullog,但是I/TestLog:TestLog没有显示,下面的代码也不起作用 mColRef.whereEqualTo("testMap.testValue", true) .get

我有这样的Firestore文档设置:

public class Item {
  String name;
  Map<String, Boolean> testMap;

}
但当我尝试用下面的代码查询该值时,
for()
循环不起作用。我得到了
I/Task:Successful
log,但是
I/TestLog:TestLog
没有显示,下面的代码也不起作用

mColRef.whereEqualTo("testMap.testValue", true)
            .get()
            .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {

                    if(task.isSuccessful()) {
                        Log.i("Task", "Successful");


                        for (QueryDocumentSnapshot document : task.getResult()) {

                            Log.i("TestLog", "TestLog");

                            Log.i("ItemName:", document.getString("name");

                        }

                    } else {

                        Toast.makeText(FirebaseTest.this, task.getException().getMessage(), Toast.LENGTH_SHORT).show();

                    }

                }
            });
mColRef.whereEqualTo(“testMap.testValue”,true)
.get()
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Log.i(“任务”、“成功”);
对于(QueryDocumentSnapshot文档:task.getResult()){
Log.i(“TestLog”、“TestLog”);
Log.i(“ItemName:”,document.getString(“name”);
}
}否则{
Toast.makeText(FirebaseTest.this,task.getException().getMessage(),Toast.LENGTH_SHORT).show();
}
}
});

我真的很困惑,我几乎遵循了这个规则,但我无法得到结果。好吧,我让它工作了,结果证明这是我在查询中犯的愚蠢错误


我更新了
testMap
,更新的值与我在这里提供的值不同,确切地说是一封电子邮件,因为我认为它完全没有任何区别。结果是有区别的。当我查询结果时,我使用了
mColRef.whereEqualTo(“testMap”)。email@email.com“,对)
还有一个
(点)内部电子邮件地址。点不能用作查询中的值,因为它用于将嵌套对象与数据库中的所有其他对象分开,因此查询可能在
com
内部
email
map

中查找名为
task.getResult()的对象。您应该记录
task.getResult()的结果
请检查是否按照上述评论中的建议添加了日志来正确获取数据。好的,结果证明我只是个傻瓜,我记录了结果的大小,结果返回0,感谢大家的帮助,为了更好地查看,我将在下面发布完整的答案
mColRef.whereEqualTo("testMap.testValue", true)
            .get()
            .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {

                    if(task.isSuccessful()) {
                        Log.i("Task", "Successful");


                        for (QueryDocumentSnapshot document : task.getResult()) {

                            Log.i("TestLog", "TestLog");

                            Log.i("ItemName:", document.getString("name");

                        }

                    } else {

                        Toast.makeText(FirebaseTest.this, task.getException().getMessage(), Toast.LENGTH_SHORT).show();

                    }

                }
            });