#javascript #firebase #firebase-realtime-database #angularfire
#javascript #firebase #firebase-realtime-database #angularfire
Вопрос:
Я использую $add()
метод AngularFire, который вызывает under the hood push()
, для добавления дочернего объекта к родительскому.
В документации Firebase говорится, что push()
этот метод:
Генерирует новое дочернее местоположение с использованием уникального ключа и возвращает на него ссылку Firebase.
Я хотел иметь контроль над уникальным ключом или идентификатором, который генерируется для объекта, который я нажимаю. Например, я хотел добавить константу к случайному идентификатору, а затем сохранить ее. Возможно ли это?
Комментарии:
1. на данный момент, насколько я знаю, это невозможно
2. можете ли вы использовать здесь ванильную firebase или вы ограничены использованием API AngularFire?
Ответ №1:
Вызов push()
— это чисто клиентская операция. Итак, вы можете:
var newRef = ref.push();
var newKey = newRef.key();
var realRef = ref.child("myPrefix_" newKey);
realRef.set({ title: 'tadaaa', body: 'New child with a push ID and a custom prefix' });
Комментарии:
1. С накладными расходами на удаление
newRef
местоположения, которое является избыточным после сохраненияrealRef
. Хорошая работа @Frank, спасибо 🙂