Firebase DB обновление и пуш одновременно - PullRequest
0 голосов
/ 09 ноября 2018

Есть ли способ одновременно update и push?

Я хочу обновить key2 в моем объекте и одновременно нажать уникальные ключи под timeline в одном запросе ref().child('object').update({...}).

object
  key1:
  key2: // update
  key3:
  timeline:
    -LNIkVNlJDO75Bv4: // push
    ...

Это вообще возможно, или в таких случаях нужно сделать два звонка?

1 Ответ

0 голосов
/ 09 ноября 2018

Вызов push() без аргументов будет немедленно возвращен (без сохранения в базу данных), предоставляя вам уникальный Reference. Это дает вам возможность создавать уникальные ключи без доступа к базе данных.

Например, чтобы получить уникальную кнопку, вы можете сделать что-то вроде:

var timelineRef = firebase.database().ref('object/timeline');
var newTimelineRef = timelineRef.push();
var newTimelineKey = newTimelineRef.key;

С этим вы можете выполнить многоуровневое обновление с использованием нового ключа:

var objectRef = firebase.database().ref('object');

var updateData = {};
updateData['object/key2'] = { key: 'value' };
updateData['object/timeline/' + newTimelineKey] = { key: 'value' };

objectRef.update(updateData, function(error) {
  if (!error) {
    console.log('Data updated');
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...