Как выбрать имя ключа в базе данных Firebase Realtime?

Как выбрать имя ключа в базе данных Firebase Realtime?

это моя база данных сейчас

Ключ здесь генерируется автоматически (-LiNph8fnLlcDTkLqq_K). Как я могу выбрать его имя?

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
myRef.child("Data").push().setValue("some value");
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
256
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

push() метод сгенерирует случайный идентификатор. Если вы хотите выбрать свой собственный идентификатор, вы можете сделать следующее:

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 дважды.

Найдите документы для сохранения данных здесь.

да, но как я могу продолжать добавлять новые элементы, не заменяя предыдущий элемент?

user8912201 27.06.2019 15:45

зависит от того, что вы хотите сделать, но вам, вероятно, нужно увеличить значение внутри дочернего элемента.., вы можете добавить его в цикл for, а затем сделать, например, child(String.valueOf(i))...

Peter Haddad 27.06.2019 15:45
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?

                }

            }
        })
    }

Другие вопросы по теме