【问题标题】:How to push element in array in AngularFire2?如何在 AngularFire2 中推送数组中的元素?
【发布时间】:2017-02-02 18:11:40
【问题描述】:

我正在尝试更新 Firebase 数据库中的数组。这是 Firebase 用户集合。 我正在尝试在用户/组集合中创建一个组并更新 id。

"users" : {
    "F0m0l0JhIXMhlQmEMv5ci1MapLM2" : {
      "address" : "Address 123334",
      "displayName" : "Prashant 1",
      "email" : "fireapps@gmail.com",
      "groups" : [ "-KbzjEnTCGAto8SQbvzc", "-KbzjCLP3Aw2jfa0NmHO" ],
      "name" : "Prashant",
      "phone" : "9900XXXX190"
    }
  }

我想使用 AngularFire2 在 groups 数组中添加新键。如何更新数组?

【问题讨论】:

  • 这个数组需要在向签名添加任何内容之前解析。
  • 你的意思是先复制到本地数组并添加新元素并推送到组?

标签: angular firebase firebase-realtime-database angularfire2


【解决方案1】:

我想你正在使用 angularefire2,所以更新 groups 节点将是

...
constructor(
  private af: AngularFire,
  ) {}
...
this.af.database.object('/users/F0m0l0JhIXMhlQmEMv5ci1MapLM2').update({
    "groups": "your new key" // <--------
  })
  .catch (error =>{
    console.log(error);
});

如果您想使用自己的密钥,那么:

this.af.database.object('/users/F0m0l0JhIXMhlQmEMv5ci1MapLM2/groups').update({
  "0": "group 1 key",
  "1": "group 2 key",
  "custom key": "group x key"
}).catch(error => { console.log(error); });

如果您的数据位于名为 updateArray 的数组中,则使用该数组更新 groups 节点。喜欢的东西

this.af.database.object('/users/F0m0l0JhIXMhlQmEMv5ci1MapLM2/groups').update(updateArray).catch(error =>{ console.log(error); });

【讨论】:

  • 这将在 firebase 中更新为 "groups" : "new key"。我想将它添加到组数组中。 “组”:0:“组 1 键”,1:“组 2 键”,2:“组 3 键”
  • @user3440700 查看我为自定义键添加的选项。
  • 你能用同样的流程从数组中删除一个值吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-06
  • 2015-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-11
相关资源
最近更新 更多