Node.js 云函数-使用循环保存数据

Node.js 云函数-使用循环保存数据,node.js,firebase-realtime-database,google-cloud-functions,Node.js,Firebase Realtime Database,Google Cloud Functions,我试图通过循环列表在Firebase数据库上实时设置一个对象。 例如,我有一个对象列表。我想运行该列表,并在对象的数据库上实时保存每个循环。 代码如下: if(feedVideosList.length > 0){ feedVideosList.forEach(video =>{ return admin.database().ref('/userFeed/${userUID}/').set(video); }).catch(error

我试图通过循环列表在Firebase数据库上实时设置一个对象。 例如,我有一个对象列表。我想运行该列表,并在对象的数据库上实时保存每个循环。 代码如下:

  if(feedVideosList.length > 0){
       feedVideosList.forEach(video =>{
         return admin.database().ref('/userFeed/${userUID}/').set(video);
     }).catch(error =>{
      console.log("Error user feed:  ",error);
    });
  }else{
    console.log("Problem with the videos list:  ",error);
  }
我很确定这段代码是错误的,我不应该这样写。 正如我所说,我试图做的是运行一个列表,并在每次spasific节点上保存数据。
问题是我应该如何做,正确的方法是什么?

如果您在云函数中运行此代码,我的最佳猜测是您希望云函数在完成对数据库的所有写入后终止。为此,您可以使用
Promise.all()

  if(feedVideosList.length > 0){
    let promises = []
     feedVideosList.forEach(video =>{
       promises.push(admin.database().ref('/userFeed/${userUID}/').set(video));
     })
     return Promise.all(promises).catch(error =>{
      console.log("Error user feed:  ",error);
    });
  }else{
    console.log("Problem with the videos list:  ",error);
  }

如果您在云函数中运行此代码,我的最佳猜测是您希望云函数在完成对数据库的所有写入后终止。为此,您可以使用
Promise.all()

  if(feedVideosList.length > 0){
    let promises = []
     feedVideosList.forEach(video =>{
       promises.push(admin.database().ref('/userFeed/${userUID}/').set(video));
     })
     return Promise.all(promises).catch(error =>{
      console.log("Error user feed:  ",error);
    });
  }else{
    console.log("Problem with the videos list:  ",error);
  }

正是我所需要的正是我所需要的