Вызов 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');
}
});