首先,我是一般编程人员,不仅是kotlin / android / firebase。我希望我的问题有意义。
从firebase获取之后,如果userId匹配,我想从一个名为“ trust”的字段中提取数据到一个名为“ trust”的变量。我已经做到了,但是只有当我使用“ If”时才可以。我觉得有更好的方法。
我不想再次获得成功,因为如果我已经有本地可用的数据,我不希望我的应用进行多个数据库事务
db.collection("Users").get().addOnSuccessListener { result ->
for (document in result) {
Log.d("DBTEST2", "${document.id} and ${document.data}")
if(document.id == userStored) {
var trust = document["trust"]
Log.d("DBTEST3", "$trust")
}
}
}.addOnFailureListener({ exception -> Log.w("DBTEST", "error", exception) })
答案 0 :(得分:0)
您似乎正在尝试通过其ID获取单个文档。最简单的方法是:
db.collection("Users").document(userStored).get().addOnSuccessListener { document ->
if (document != null) {
Log.d("DBTEST2", "${document.id} and ${document.data}")
var trust = document["trust"]
Log.d("DBTEST3", "$trust")
}
}...
有关更多信息,请参见getting a document上的Firebase文档。