Angular& Firebase:创建新节点

时间:2017-08-04 15:14:19

标签: angular typescript firebase firebase-realtime-database

我需要在Firebase中构建相同的sctructure。如何创建新节点terriangen,添加{key}并设置我的对象数据?

-usernames  
 -{UID}    
  -mylibrary      
   -{key}    
  -terriangen       
   -{key}        
    type:mountain         
    name:1.png

我的代码:

const newObjRef = firebase.database()
              .ref('usernames')
              .child(userId)
              .child('mylibrary/')
              .push();
            newObjRef.set({
              type: terrainType,
              name: terrainName
            });

1 个答案:

答案 0 :(得分:0)

您正在寻找多地点更新:

const newKey = firebase.database().ref().push.key;
const updates = { };
updates["mylibrary/"+key] = {
          type: terrainType,
          name: terrainName
        };
updates["terriangen/"+key] = {
          type: terrainType,
          name: terrainName
        };
firebase.database()
        .ref('usernames')
        .child(userId)
        .update(updates)

最大的区别:

  • 我们预先生成唯一键,以便我们可以在两个位置使用它
  • 我们将新数据的部分路径移动到密钥中,以便我们可以执行所谓的多位置更新。这样可以确保libraryterriangen节点中的所有现有项都不会被覆盖。