2016-02-04 4 views
3

Возможно ли использовать функцию многопутевого обновления для Firebase в сочетании с созданием дочерних узлов (с автоматическим идентификатором)? До сих пор я нашел только решение для обновлений, где известен только полный путь.Многопоточное обновление Firebase с childByAutoId возможно?

например.

var newData = [String: AnyObject]() 
newData["conversations/messages/<placeholder for new id>"] = newMessage 
newData["conversations/somethingDifferent"] = additionalData 
... 

ответ

5

Push-идентификаторы генерируются на клиенте. childByAutoId возвращает новый Firebase, но без отправки данных по сети.

let ref = Firebase(url: "<my-firebase-app>") 
let childRef = ref.childByAutoId() 

var newData = [String: AnyObject]() 
newData["conversations/messages/\(childRef.key)"] = newMessage 

После того, как вы создали дочернюю ссылку, вы можете просто использовать ее ключ в словаре для многопутевого обновления.

+0

Вы можете передать childbyAutoId значение? Что это делает? – Jay

+0

О, мужчина, мой мозг. 'childByAutoId' почти как' .push() 'в JS-клиенте. Я перепутал функциональность на секунду. Вы не можете передать значение «childByAutoId». Однако код должен работать. –

+1

Крысы. Я очень волновался - я думал, что вы раскрываете скрытую черту. – Jay

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