android - 无法在 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()..... 也失败了
解决方案
在这种情况下,您需要做的最常见的操作是记录来自该消息的消息,该消息addOnFailureListener
告诉您所有内容。很可能是与权限不足有关的问题。要解决此问题,请设置与您正在执行的查询相对应的安全规则。
推荐阅读
- c# - Telerik 报告查看器在 Asp .net 样板中与 Asp.net 核心结合使用时不起作用
- node.js - 基于密钥包含在 json 列表中搜索的有效方法
- python - 如何根据变化的列值 pd.fillna(mean())?
- nginx - 如何使用 nginx 和 php 后端修复重定向到斜杠
- java - 为什么我们使用 Lifecycle 感知组件 & Lifecycle Observer 在 Android 中的用途是什么?
- reactjs - Outlook 中 html 电子邮件中的动态图像高度和宽度
- apache-spark - PySpark:如何在 For 循环中附加数据帧
- c# - 如何更新子类中的计算值
- mongodb - GraphQL 类型“对象”?
- r - 根据对象名称在列表内创建新列表