我正在检查名为attending
的布尔字段是否存在,但我不确定如何执行此操作。
是否有.child().exists()
或类似的函数可以使用?
firebaseFirestore.collection("Events")
.document(ID)
.collection("Users")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if(task.isSuccessful()) {
for(QueryDocumentSnapshot document: task.getResult()){
attending = document.getBoolean("attending");
}
}
}
});
6条答案
按热度按时间p4rjhz4m1#
你现在所做的是正确的--你必须阅读文档并检查快照,看看该字段是否存在。没有更短的方法可以做到这一点。
iezvtpos2#
您可以执行以下操作:
来自文档:
public boolean exists ()
如果文档存在于此快照中,则返回true。
fgw7neuy3#
这里是你可以实现它,或者你可能已经解决了,这对任何一个寻找解决方案。
根据文件:
此查询返回capital字段值不为false或null的每个城市文档。这包括capital字段值等于true或除null之外的任何非布尔值的城市文档。
nwwlzxa74#
我用下面的布尔方法可能别人也可以
zpf6vheq5#
我没有找到任何解决办法,所以我只能试着接:
然后你可以根据
attendingFieldExists
修改你想要应用的代码。我是Flutter / Dart的新手,所以不确定这是处理这个问题的最好方法。dphi5xsq6#