Вы можете вызвать remove()
только на DatabaseReference
, который является ссылкой на точное местоположение в базе данных.
Ваш firebase.database().ref().child('products').orderByChild('fruits').equalTo('small_green')
- это запрос, который не является точным местоположением.Это означает, что вы не можете позвонить remove()
на это.Сначала вам нужно выполнить запрос, чтобы получить соответствующие местоположения, а затем вызвать remove()
для каждого из них.
Обычно это будет что-то вроде:
const query = firebase.database().ref().child('products').orderByChild('fruits').equalTo('small_green');
query.once('value', functions(snapshot) {
snapshot.forEach(function(childSnapshot) {
childSnapshot.ref.remove();
});
})
Кроме того, вы заказываете неправильный дочерний узел (как вы сказали в комментариях).Итак, вы захотите:
const query = firebase.database().ref().child('products/fruits').orderByChild('attrs').equalTo('small_green');