Вы можете ознакомиться с документацией здесь для общих примеров.Метод push
вставит новый узел с уникальным ключом, тогда как метод setValue
можно использовать для вставки данных в конкретный узел.
Узел, в который должны быть вставлены данные, можно указать вследующим образом:
User user = new User(name, email);
mDatabase.child("users").child(userId).setValue(user);
Здесь класс User
является POJO, который обеспечивает структуру данных.Также должно быть возможно использовать Map
, который описывает отображение вместо класса.
В вашем случае код будет выглядеть примерно так:
ref.child("grocery_list_key_1").child("product_key_1").setValue(data);
Предполагая ref
указывает на узел «grocerylistproducts».Как видите, вам нужно заранее знать имена всех промежуточных узлов, чтобы это работало.
Кроме того, метод setValue
перезаписывает любую существующую информацию об узлах.Таким образом, вы должны использовать подходящие методы обновления, как указано здесь , если нужно изменить только определенные поля.