Android 在firestore中检查字符串总是返回true

Android 在firestore中检查字符串总是返回true,android,google-cloud-firestore,Android,Google Cloud Firestore,我是android开发和firestore的新手。我试图做的是比较数据库中是否存在字符串。然而,即使我试图与数据库中不存在的字符串进行比较,查询也总是返回true。这是我的密码: public void loadData(View v){ db.collection("Machines") .whereEqualTo("machineId","AYSLE004") .get() .ad

我是android开发和firestore的新手。我试图做的是比较数据库中是否存在字符串。然而,即使我试图与数据库中不存在的字符串进行比较,查询也总是返回true。这是我的密码:

public void loadData(View v){
        db.collection("Machines")
                .whereEqualTo("machineId","AYSLE004")
                .get()
                .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                    @Override
                    public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
                        //MachineId exists
                        Toast.makeText(MainActivity.this, "Machine Id exists", Toast.LENGTH_LONG).show();
                    }
                })
                .addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        //Machine Id does not exist
                        Toast.makeText(MainActivity.this, "Machine Id does not exist", Toast.LENGTH_LONG).show();
                        Log.d(TAG,e.toString());
                    }
                });
    }
数据库中不存在字符串AYSLE004。但是,toast消息显示机器Id存在。请帮助我哪里出了问题。提前谢谢。
尝试添加以下内容:

.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
    @Override
    public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
        //MachineId exists
        if(queryDocumentSnapshots != null && !queryDocumentSnapshots.isEmpty()) {
            Toast.makeText(MainActivity.this, "Machine Id exists", Toast.LENGTH_LONG).show();
        } else {
            //it doesn't exist
        }
    }
}

我认为这是因为调用onSuccess侦听器是因为对Firebase的请求已完成并成功实现,但它恰好没有找到您的请求。

请尝试添加以下内容:

.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
    @Override
    public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
        //MachineId exists
        if(queryDocumentSnapshots != null && !queryDocumentSnapshots.isEmpty()) {
            Toast.makeText(MainActivity.this, "Machine Id exists", Toast.LENGTH_LONG).show();
        } else {
            //it doesn't exist
        }
    }
}

我认为这是因为调用onSuccess侦听器是因为对Firebase的请求已完成并成功实现,它只是碰巧没有找到您的请求。

这是因为请求完成,它没有失败,只是找不到,对吗@Alexmam?嗨,Alex,我已经添加了数据库结构的屏幕截图。@a_local_没人注意到这一点,投了赞成票;那是因为请求完成了,它没有失败,只是找不到它,对吗@AlexMamo?嗨,Alex,我已经添加了数据库结构的截图。@a_local_没人注意到这一点,投了赞成票;