簡體   English   中英

使用Firebase推鍵作為第二推中的鍵

[英]Using Firebase Push key as Key in Second Push

我正在嘗試將兩個相關項添加到Firebase數據庫中。 我要推送一個項目,然后獲取該項目的新創建的密鑰,並將其用作另一棵樹中第二個項目的密鑰。 我嘗試查詢數據庫以獲取創建的最后一個密鑰,並將其用作第二次推送的密鑰,但它仍只是為其生成一個新密鑰。 這是我正在使用的代碼:

save: function() {
    if (this.$.document.isNew && (this.editableCard.title || this.editableCard.body)) {
        return this.$.document.save(this.cardsPath).then(function() {
            this.$.document.reset();
            var sceneRef = firebase.database().ref().child(this.cardsPath);
            var scene = sceneRef.orderByKey().limitToLast(1);
            var sceneKey = scene.key;
            this.$.document.save('/documents/', sceneKey);
        }.bind(this));
    }
    return Promise.resolve();
}

(我正在使用Polymer,我的起點是Polymerfire的note-app演示)。

關於如何檢索第一次按下的新鍵並將其用於第二次按下的任何想法? 謝謝!

編輯

我在Firebase的文檔中找到了有關Web數據庫讀寫的答案。 鏈接

push()立即返回DatabaseReference。 您可以使用getKey()來詢問該引用的鍵是什么,然后使用該字符串更新數據庫中的另一個位置。

您可以訪問原始數據庫引用上的key屬性,並將其用作第二個屬性的密鑰,如下所示:

let firstObjRef = firebase.database().ref('/first/path/).push(firstObj, (error) => {
  videoObj["roomUploadedTo"] = this.roomName;
  var updateObj = {};
  updateObj[videoObjRef.key] = videoObj;

  firebase.database().ref('/second/path/').update(updateObj).then( (e) => {
    console.log('update went through. booyah! ' + e);
  })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM