Как удалить записи из firebase
Я исследую функции Firebase, у меня возникли проблемы с удалением узлов или записей из firebase с помощью java-кода? Я искал их API.. веб-версия предоставляет функцию remove(), но java — нет?!
Поделиться Источник 30 октября 2014 в 07:42
2 ответа
На объекте Firebase есть метод removeValue() :
Установка значения местоположения в null фактически удаляет узел из структуры.
Поделиться 30 октября 2014 в 08:18
Хотя ответ @jsfrocha абсолютно правильный, важно отметить, что если вы используете транзакции, что является хорошей практикой при удалении данных, вы получаете доступ к данным через объект MutableData, в этом случае у вас нет метода removeValue(. ) , поэтому вместо этого вы должны использовать setValue(null) .
firebase.child(path).runTransaction(new Transaction.Handler() < public Transaction.Result doTransaction(MutableData mutableData) < mutableData.setValue(null); // This removes the node. return Transaction.success(mutableData); >public void onComplete(FirebaseError error, boolean b, DataSnapshot data) < // Handle completion >>);
Удаление и редактирование записей Firebase

Здравствуйте создал вот такой вот класс для записи данных в FIREBASE, подскажите как я могу удалять и редактировать нужную мне запись по ключу при помощи этого класса в FIREBASE,или можете предложить свои методы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
class ApiService { constructor(baseUrl) { this.url = baseUrl } async createPost(post) { console.log() try { const request = new Request(this.url + '/posts.json', { method: 'post', body: JSON.stringify(post) }) return useRequest(request) } catch (error) { console.error(error) } } } async function useRequest(request) { const response = await fetch(request) return await response.json() } export const apiService = new ApiService('https://путь к моей базе.firebaseio.com')
так я беру данные с формы и отправляю а FIREBASE
1 2 3 4 5 6 7 8 9 10 11 12
async function submitHandler(event){ event.preventDefault() if(this.form.isValid()){ const formData = { . this.form.value() } await apiService.createPost(formData) this.form.clear() alert('Запись создана в базе данных') } }
Как удалить запись из Firebase по конкретному полю?

Есть структура БД:
Хочу удалить все
по categoryId. Хочу примерно такой код:
import firebase from "firebase/app" async deleteCategory(, cat_id) < const uid = await dispatch('getUid') // получаю конкретного пользователя await firebase.database().ref(`users/$/records`).WHERE('categoryId' === cat_id) >
Но в firebase нет
и даже ничего похожего, как быть?
- Вопрос задан более трёх лет назад
- 586 просмотров
удаление записи в Firebase

Имею такую структуру: Хочу по нажатию удалять запись в базе данных.Как указать базе номер записи которую я хочу удалить. Для примера пробовал удалять так но тоже ничего не вышло.
Query applesQuery = FirebaseDatabase.getInstance().getReference().child("event").orderByChild("title").equalTo("TITLE"); applesQuery.addListenerForSingleValueEvent(new ValueEventListener() < @Override public void onDataChange(DataSnapshot dataSnapshot) < for (DataSnapshot appleSnapshot: dataSnapshot.getChildren()) < appleSnapshot.getRef().removeValue(); >> @Override public void onCancelled(DatabaseError databaseError) < Log.e(TAG, "onCancelled", databaseError.toException()); >>);
Отслеживать
задан 6 мая 2017 в 18:01
1,360 1 1 золотой знак 9 9 серебряных знаков 21 21 бронзовый знак
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Если я правильно понял, то у вас записи загружаются в список recyclerview, в своё время я делал как-то вот так:
mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(getContext(), mRecyclerView, new RecyclerItemClickListener.OnItemClickListener() < @Override public void onItemClick(View view, int position) < //do nothing >@Override public void onLongItemClick(View view, int position) < DatabaseReference dat = mAdapter.getRef(position); dat.removeValue(); Toast.makeText(getContext(), "Удалено", Toast.LENGTH_SHORT).show(); >>));
mAdapter здесь это это инициализированный и настроенный FirebaseRecyclerAdapter. Обрабатывание нажатий на элемент recyclerview в этом примере происходит с помощью класса RecyclerItemClickListener. Его можно взять отсюда, второй ответ. Добавьте его в проект.