Angularfire2 и обновление различных объектов с использованием разветвления данных

Мне нужно обновить объекты в моей базе данных, поэтому я делаю это:

const items = af.database.list('/items');
items.update('key-of-some-data1', { size: newSize1 });
items.update('key-of-some-data2', { size: newSize2 });

Это работает как шарм, но я хотел бы обновить элементы с помощью «разветвления данных», как описано здесь: https://firebase.google.com/docs/database/web/read-and-запись https://firebase.googleblog.com/2015/10/client-side-fan-out-for-data-consistency_73.html

So I do:

var updates = {};
updates['key-od-some-data1']= { size: newSize1 };
updates['key-od-some-data2']= { size: newSize2 };
items.update(updates);

К сожалению, я получаю эту ошибку:

zone.js:140 Uncaught Error: Ошибка в классе ./AppComponent AppComponent — встроенный шаблон: 30:2, вызванная: для метода требуется ключ, моментальный снимок, ссылка или развернутый снимок. Получил: объект

Возможно ли вообще обновиться с разветвлением данных в базу данных с помощью angularfire2? Работает ли разветвление данных только с одним и тем же ключом объекта или что-то в этом роде?


person johnerfx    schedule 18.10.2016    source источник
comment
у вас есть пример того, как получить key с помощью AF2? Я пытаюсь сделать то же самое, но получаю ошибку TS при вызове child('/path').push().key();   -  person brians69    schedule 06.11.2016
comment
Вы имеете в виду «ключ», который вы только что создали? Он генерируется автоматически. Попробуйте key=child('/path').push();https://firebase.google.com/docs/database/web/read-and-write   -  person johnerfx    schedule 06.11.2016
comment
Я только что получил это, выполнив items.push('new item').then(res => console.log(res.key)); спасибо, в любом случае   -  person brians69    schedule 06.11.2016


Ответы (1)


Заменять:

const items = af.database.list('/items');

с:

const items = af.database.object('/items');
person Sasxa    schedule 18.10.2016