Android 在firestore中检查字符串总是返回true
我是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
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_没人注意到这一点,投了赞成票;