2015-01-26 2 views
1

У меня есть несколько firebase ключей в моей базе данных, как такИзменение ребенка ключа в Firebase

key1 { 
    name: joe 
} 
key2 { 
    name: anne 
} 
key3 { 
    name: joe 
} 

Я хочу изменить имя всех ключей, которые содержат имя «Джо» на «волю».

Так что-то вроде этого:

myRef.(...).hasChild("joe").update({ 
    name: will 
}); 

Как мне это сделать?

Благодаря

+0

это не лучший выбор дизайна. – webduvet

+0

как так? Вводный учебник Firebase имеет ту же концепцию дизайна. – NotToBrag

+0

Предположите, что пользователи могут изменять имена, а пользователь joe решает изменить свое имя, которое в результате означает, что вам нужно пройти все узлы keyX и выполнить поиск «joe». вам лучше сделать это с помощью ссылки. – webduvet

ответ

0

С помощью JavaScript/Web SDK Firebase в это довольно просто.

Скажите, что у вас есть ссылка Firebase на узел выше key1, key2 и key3.

var ref = new Firebase('https://yours.firebaseio.com/parentofkeys'); 

Затем вы можете создать запрос, который содержит только ключи, имя которых свойство Joe:

var query = ref.orderByChild('name').equalTo('joe'); 

, а затем обновить все текущие (и будущее) Джо с помощью:

query.on('child_added', function(snapshot) { 
    snapshot.ref().update({ name: 'will' }); 
}); 

Пожалуйста, тщательно изучите соответствующие разделы документации Firebase:

Обратите внимание, что они являются частью Firebase's Web Development Guide. Это может быть хорошей идеей, если вы будете следовать этому руководству шаг за шагом.

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