如何firebase引用提取“ onCreate”或“ onUpdate”触发器中的id?

时间:2020-03-24 04:53:58

标签: typescript firebase firebase-realtime-database google-cloud-functions

我不想获取 .onUpdate() {id} 下的所有值。var3是一个嵌套对象,而var2是单个变量。 那么如何从onUpdate检索{id}并将其作为参数传递给customMethod,以便可以在admin.ref()中使用它?

index.ts

export const funcName = functions.region("someRegion").database.ref('/user/{id}/var3').onUpdate((change, context) =>{

      const originalData = <varType> change.after.val();
      const processedData = customMethod(originalData);

      if(change.after.ref.parent)
      return change.after.ref.parent.child('custom').set(processedData);
      else
      return null;
});


function customMethod(data: varType){
 return admin.database().ref('/user/{id}/var2').once('value').then(function(snapshot){
// processing stuff after storing value from var2 in a local variable
}

1 个答案:

答案 0 :(得分:0)

使其正常工作...已引用父节点,并将引用作为参数发送。

 const originalData = <varType> change.after.val();
 const splRef = <admin.database.Reference> change.after.ref.parent
 const processedData = customMethod(originalData,splRef);

function customMethod(data: varType,dbref: admin.database.Reference){
 return admin.database().dbref.once('value').then(function(snapshot){
// processing stuff after storing value from var2 in a local variable
}

@Renaud,还是谢谢!!