【问题标题】:Angularfire2 and updating different objects using data fan-outAngularfire2 和使用数据扇出更新不同的对象
【发布时间】:2016-10-18 20:45:35
【问题描述】:

我需要更新我的数据库中的对象,所以我这样做:

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-write https://firebase.googleblog.com/2015/10/client-side-fan-out-for-data-consistency_73.html

所以我这样做:

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

很遗憾,我收到了这个错误:

zone.js:140 未捕获错误:./AppComponent 类 AppComponent 中的错误 - 内联模板:30:2 原因:方法需要密钥、快照、引用或未包装的快照。得到:对象

是否甚至可以使用 angularfire2 将数据扇出到数据库进行更新?数据扇出是否仅适用于相同的对象键或其他东西?

【问题讨论】:

  • 你有一个如何使用AF2获取key的例子吗?我正在尝试做同样的事情,但是在调用 child('/path').push().key(); 时遇到了 TS 错误
  • 您的意思是您刚刚创建的“密钥”吗?它是自动生成的。试试key=child('/path').push();https://firebase.google.com/docs/database/web/read-and-write
  • 我刚刚通过items.push('new item').then(res => console.log(res.key));得到它,谢谢,无论如何

标签: javascript angular firebase-realtime-database angularfire2


【解决方案1】:

替换:

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

与:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-04
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多