Vue使用Key设置Firebase数据

时间:2017-05-12 15:39:40

标签: firebase-realtime-database vue.js vuejs2 vuefire

我遇到了一个Vue方法的问题,它既可以将新协议推送到一个Firebase引用,也可以将数据设置为另一个。问题出在该方法设置数据时。我当前的方法无法获得正在写入dealsRef的交易密钥,以便将其保存在dealsRel中。

Firebase参考:

// Firebase reference to deals
const dealsRef = db.ref('deals');
// Firebase reference to deal "relations"
const dealsRel = db.ref('dealsRel');

方法:

addDeal() {
  // Push new Deal to Firebase
  dealsRef.push(this.newDeal),
  //Issue is here:
  dealsRel.child(this.newDeal.provider).child( How to get key of object pushed in line above? ).set(true)
},

JSON结构:

deals
    -KjtfMcfuZkP_kKP708x
        provider: "-KQ1if2Zv3R9FdkJz_1_"
        title: "Deal Name"
dealsrel
    -KQ1if2Zv3R9FdkJz_1_" // Provider Firebase ID
        Needs to be "-KjtfMcfuZkP_kKP708x": true //Firebase ID of deal
...

1 个答案:

答案 0 :(得分:2)

能够解决使用Firebase .getKey()的问题:

var theKey = dealsRef.push(this.newDeal).getKey()    
dealsRel.child(this.newDeal.provider).child(theKey).set(true)