我试图更新数据firebase,但它不是一个用户数据,就像它是一个由管理员生成的请求[基本上是一个管理系统],我在这里没有使用uid
,
下面是我代码
mDatabaseRef = FirebaseDatabase.getInstance().getReference("Reports_uploads")
val upload = Reportsreq(
name = binding.nameEditText.text.toString().trim { it <= ' ' },
imageUrl = mImageUri.toString(),
email = binding.spinneremail.selectedItem.toString().trim(),
feedback = binding.descriptionEditText.text.toString().trim { it <= ' ' },
)
val uploadId = mDatabaseRef!!.push().key
mDatabaseRef!!.child((uploadId)!!).setValue(upload)
openImagesActivity()
}
我试图更新这里的反馈,但当更新按钮被点击,它使新的孩子,而不是更新它,我无法得到我设置的关键上传数据。
val intss = intent
//val key = intss.getStringExtra("key")
val email = intss.getStringExtra("Email")
val name = intss.getStringExtra("Name")
val desT = intss.getStringExtra("DESCRIT")
val imgT = intss.getStringExtra("IMGURI")
binding.nameDetailTextView.text = name
binding.descriptionDetailTextView.text = desT
binding.emailTextView.text = email
binding.teacherDetailImageView.loadImage(imgT)
// binding.keyy.text = key
/* binding.updatebtn.setOnClickListener {
val update : Reportsreq(
feedback = feed.toString().trim()
)*/
val database = FirebaseDatabase.getInstance().getReference("Reports_uploads")
val feed= binding.updatefeedback.text.toString()
binding.updatebtn.setOnClickListener {
if (feed.isEmpty()){
//val mDatabaseRefkey = database
val key = database.getKey()
database.child("key").child("feedback").setValue(feed)
Toast.makeText(this, "updated", Toast.LENGTH_SHORT).show()
}else {
Toast.makeText(this, "Feedback not provided", Toast.LENGTH_SHORT).show()
}
}
这里的主要问题是我如何才能获得密钥,以便我可以从特定节点更新子节点
1条答案
按热度按时间hwamh0ep1#
要更新节点,您需要知道它的密钥。
知道密钥后,更新节点就是一个问题:
如果不知道密钥,可以使用以下命令更新路径下的所有节点: