首页 > 解决方案 > 无法在 Firestore 子集合中设置数据

问题描述

在云 Firestore 上上传数据时

    lateinit var db: DocumentReference

    db = FirebaseFirestore.getInstance().document("users/${mAuth.uid}")

    val items=HashMap<String,Any>()
    items["w"] = "t"
    db.set(items).addOnSuccessListener {
            Toast.makeText(this,"Data updated successfully", Toast.LENGTH_LONG).show()
        }.addOnFailureListener{
            Toast.makeText(this,"Data upload failed",Toast.LENGTH_LONG).show()
        }

有效,但是

    lateinit var db: DocumentReference

    db = FirebaseFirestore.getInstance().document("users/${mAuth.uid}/othercollection/otherdocument")

    val items=HashMap<String,Any>()
    items["w"] = "t"
    db.set(items).addOnSuccessListener {
            Toast.makeText(this,"Data updated successfully", Toast.LENGTH_LONG).show()
        }.addOnFailureListener{
            Toast.makeText(this,"Data upload failed",Toast.LENGTH_LONG).show()
        }

失败。IE。它打印“数据上传失败”。

其他声明文档路径的方法也失败了,.collection().document().collection().document()..... 也失败了

标签: androidfirebasekotlingoogle-cloud-firestore

解决方案


在这种情况下,您需要做的最常见的操作是记录来自该消息的消息,该消息addOnFailureListener告诉您所有内容。很可能是与权限不足有关的问题。要解决此问题,请设置与您正在执行的查询相对应的安全规则。


推荐阅读