在Cloud 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()
}
失败。即。它会显示“数据上传失败”。
其他声明文档路径的方法也失败,.collection()。document()。collection()。document().....也失败
答案 0 :(得分:0)
在这种情况下,您最需要执行的操作是记录来自addOnFailureListener
的消息,该消息告诉您所有内容。最有可能是与权限不足有关的问题。要解决此问题,请设置与您正在执行的查询相对应的security rules。
答案 1 :(得分:0)
该错误是权限不足。我使用的是旧项目中未为嵌套文档定义的安全规则。更改后问题得以解决。
供他人参考,在更改项目应用程序或添加新应用程序时,请务必当心,请确保您检查了资源,以使其适用于链接到项目的新应用程序。