2015-03-18 3 views
16
{ 
    43268jfjn7983-347983: 
    { 
     title: 'hello world', 
     time: '1000' 
    } 
} 

Как и выше, я просто хочу обновить 43268jfjn7983-347983 чему-то еще, возможно ли это в firebase?Firebase: Обновить ключ?

+0

Интересно, есть ли реальный ответ? –

ответ

19

Невозможно изменить ключ существующего узла.

Так вместо этого я бы для:

var ref = new Firebase('https://my.firebaseio.com/'); 
var child = ref.child('43268jfjn7983-347983'); 
child.once('value', function(snapshot) { 
    ref.child('somethingElse').set(snapshot.val()); 
    child.remove(); 
}); 
+0

Спасибо, я думаю, что будет. – createvel

-1

Если это касается отладки цели, она легко может быть сделано через firebase консоль базы данных в режиме реального времени.

  1. Экспорт JSON файл базы данных, нажав на settings icon и затем на «Экспорт JSON».

  2. Откройте его в текстовом редакторе, внесите необходимые изменения и сохраните его.

  3. В консоли консоли в реальном времени нажмите один и тот же значок настроек и , затем нажмите «Импорт JSON».

CAVEAT: Импорт файла JSON переписывает всю базу данных.

+0

Как сказано в ответе, это решение не может действительно использоваться в производственной среде. Процедура слишком медленная. – sampoh

+0

@sampoh - это решение для синхронизации двух БД и просто переключения ref, если вам нужно обновить его, а затем переключить обратно после изменения и загрузки Jason? – evu

+0

@evu, вы не будете достаточно быстры. Проблема в том, что в Firebase могут появляться постоянные запросы на создание env. Когда вы закончите импорт, вы, возможно, уже потеряли данные, которые были изменены в основной БД во время редактирования JSON. – sampoh

Смежные вопросы