如何在Firebase Realtime数据库中选择密钥名称?

时间:2019-06-27 13:19:07

标签: android database firebase

如何在Firebase Realtime数据库中选择密钥名称?

this is my database now

此处的密钥是自动生成的(-LiNph8fnLlcDTkLqq_K)。如何选择它的名称?

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
myRef.child("Data").push().setValue("some value");

2 个答案:

答案 0 :(得分:1)

push()方法将生成一个随机ID。如果您想选择自己的ID,则可以执行以下操作:

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
myRef.child("Data").child("firstData").child("value").setValue("some value");

那么您将拥有:

Data
  firstData
      value : some value

但是最好使用push(),因为在数据库中不能两次拥有相同的key

找到用于保存数据here的文档。

答案 1 :(得分:0)

fun getListFromFirebaseDbByID(formDataID : String, formListener: SingleFormDataDBListener) {
        val database = FirebaseDatabase.getInstance().reference
        val rootRef = database.child(Constant.FIREBASE_DATABASE)

        rootRef.addListenerForSingleValueEvent(object : ValueEventListener {
            override fun onCancelled(p0: DatabaseError) {
            }

            override fun onDataChange(snapshot: DataSnapshot) {
                val children = snapshot!!.children.iterator()

                while (children.hasNext()) {
                    val currentItem = children.next()

                    val map = currentItem.getValue() as HashMap<String, Any>
                    val id = map.get("id") as String?

                }

            }
        })
    }