从 Realtime Firebase 读取值

Reading a value from Realtime Firebase

我有以下 json 结构:

在“所有”节点中,我有一个属性“drinkId”,我试图将它移到该子节点之外,使其上一级。

我正在尝试读取值,但运气不佳

const cocktailRef= firebase
      .database()
      .ref("Ratings");  
    cocktailRef.once("value", (snapshot) => {      
      snapshot.forEach((child) => {           
        const drinkIdPass = child.ref.child("all").child("drinkId").value(); 

        child.ref.update({ drinkId: drinkIdPass }); 
     })
  }) 

我尝试了“.value()”的不同变体,同样的问题

DataSnapshot 上没有任何 value() 方法。 val() 尝试像这样重构您的代码:

const cocktailRef= firebase.database().ref("Ratings");  

cocktailRef.once("value").then(async (snapshot) => {  
  const updates = { }    
  snapshot.forEach((child) => {           
    const drinkIdPass = child.val().all.drinkId
    updates[`${child.key}/drinkId`] = drinkIdPass 
  })

  await cocktailRef.update(updates)
  console.log("Data updated")
})