Как добавить данные в существующую базу данных в базе данных Firebase в реальном времени? - PullRequest
0 голосов
/ 13 декабря 2018

мой код:

lateadd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


            FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

            String anahtar=databaseReference.getKey().toString();
            final String kisiId = user.getUid().toString().trim();
            final String kisiAd = user.getDisplayName().toString().trim();
            final String yayinlananYorum = edituruneYorumyap.getText().toString();

            List<Urun> urunListesi = new ArrayList<>();
            Urun urunler = new Urun(kisiId, kisiAd, yayinlananYorum, urununAdi.getText().toString());
            urunListesi.add(urunler);
            String key = databaseReference.push().getKey();
            databaseReference.child(anahtar).child("urunYorum").setValue(urunler);


        }
    });

databaseReference.child (anahtar) .child ("urunYorum"). SetValue (urunler);-> Я думаю, что мне нужно изменить здесь, но я не знаю.

Я хочу добавить данные к ранее существующей ссылке ребенка.

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

1 Ответ

0 голосов
/ 14 декабря 2018

Эта строка String key = databaseReference.push().getKey(); создает новую уникальную ссылку, в которую вы затем пишете.Если вы хотите написать существующую ссылку, вам нужно знать ключ этой ссылки, обычно, читая его из элемента пользовательского интерфейса, на который щелкнул пользователь.

Обратите внимание, что вызов setValue() заменяет все данные в местоположении.Если вы хотите обновить подмножество данных или добавить новые свойства, вам придется либо вызвать setValue() на более низком уровне, либо позвонить updateChildren().

Так, например:

databaseReference.child(anahtar).child("urunYorum/newProperty").setValue(urunler);

Или:

Map<String,Object> values = new HashMap<String,Object>();
values.put("kisiId", kisiId);
values.put("kisiAd", kisiAd);
databaseReference.child(anahtar).child("urunYorum").updateChildren(values);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...