Vue 使用 Key 设置 Firebase 数据
Vue set Firebase data using Key
我在使用 Vue 方法时遇到问题,该方法既将新交易推送到一个 Firebase ref 又在另一个 Firebase ref 中设置数据。问题在于方法何时设置数据。我当前的方法无法获取正在写入 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
...
能够像这样使用 Firebase .getKey()
解决问题:
var theKey = dealsRef.push(this.newDeal).getKey()
dealsRel.child(this.newDeal.provider).child(theKey).set(true)
我在使用 Vue 方法时遇到问题,该方法既将新交易推送到一个 Firebase ref 又在另一个 Firebase ref 中设置数据。问题在于方法何时设置数据。我当前的方法无法获取正在写入 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
...
能够像这样使用 Firebase .getKey()
解决问题:
var theKey = dealsRef.push(this.newDeal).getKey()
dealsRel.child(this.newDeal.provider).child(theKey).set(true)