База данных Firebase Realtime - Web / Javascript - как выполнять несколько операций записи как один пакет - PullRequest
0 голосов
/ 04 августа 2020

Я заметил, что Firebase Firestore дает нам возможность выполнять несколько операций записи в виде одного пакета, который содержит любую комбинацию set (), update () или delete ().

Возможно ли это в Firebase И в реальном времени?

В основном у меня есть следующие данные:

main: {
    first: {
        keywords: {
            one: { active: false, required: false },
            two: { active: false, required: false },
            three: { active: false, required: false },
        }
    }
}

Я создал действие для обновления одного значения следующим образом:

database.ref(`main/${category}/keywords/${keyword}/`).update({ active })
     

Мне нужно создать новое действие для обновить активное значение всех дочерних ключевых слов сразу.

Я знаю, что могу обновить «ключевые слова», просто обновив весь объект следующим образом:

database.ref (main/${category}/keywords ) .update (ОБНОВЛЕННЫЙ ОБЪЕКТ ЗДЕСЬ)

Однако, просто из любопытства, есть ли способ, где я мог бы просто ввести oop в ключевые слова и обновить определенные c значения? Может как то так?

database.ref(`main/${category}/keywords/`).forEach(item => item.update({ active }))

1 Ответ

1 голос
/ 04 августа 2020

Может быть, этот поможет вам:

let dbConnection = firebase.database().ref(`main/${category}/keywords/`);
dbConnection.once('value', dataSnapshot => {
  dataSnapshot.forEach(child => {
    child.ref.update({ active });
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...