【发布时间】:2019-07-02 07:26:49
【问题描述】:
我正在运行查询以检查布尔值 (isLocked),以了解一个或多个文档是否被锁定:
final CollectionReference ref = FirebaseFirestore.getInstance().collection( "folders" ).document( user.getUid() ).collection( folder );
Query query = ref.whereEqualTo( "isLocked", true );
query.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
boolean b = task.getResult().isEmpty();
ToastEX.showShort( MainActivity.this, b ? "isLocked=1" : "isLocked=0");
}
});
这总是返回 isLocked=1,不管数据库上有什么。
如何让它工作?非常感谢。
【问题讨论】:
-
由于我们看不到数据库中的内容,也看不到变量的值,因此很难说查询是否真的按照您的想法进行。我很难相信这个查询是完全错误的。尝试在此处检查所有变量的内容,或对它们的值进行硬编码,以绝对确定您正在查询您真正想要的内容。
-
我更喜欢
addOnCompleteListener并在 if 语句中检查task.getResult.isEmpty()
标签: java android firebase google-cloud-firestore