Firebase Admin Node.js读/写数据库

时间:2018-09-17 04:52:42

标签: node.js firebase firebase-realtime-database admin

似乎我找不到在Cloud Functions中使用read/write函数进行管理的正确方法。我正在使用一个消息传递功能,该功能将使用Cloud Functions Node.js读取在实时数据库中创建的新消息,并使用快照来引用路径。这是我最初的导出功能:

var messageRef = functions.database.ref('Messages/{chatPushKey}/Messages/{pushKey}');

var messageText;

exports.newMessageCreated = messageRef.onCreate((dataSnapshot, context) => {
    console.log("Exports function executed");

    messageText = dataSnapshot.val().messageContent;
    var chatRef = dataSnapshot.key;
    var messengerUID = dataSnapshot.val().messengerUID;

    return readChatRef(messengerUID, chatRef);

});

这是从返回的值中读取的函数:

function readChatRef(someUID, chatKey){
  console.log("Step 2");

  admin.database.enableLogging(true);

  var db;
  db = admin.database();

  var userInfoRef = db.ref('Users/' + someUID + '/User Info');

  return userInfoRef.on('value', function(snap){
     return console.log(snap.val().firstName);
  });

}

在firebase云功能日志中,我可以读取除return userInfoRef.on...中的一个控制台之外的所有console.logs。我的语法不正确吗?我尝试了其他几种方法来读取快照。也许我没有有效地使用回调?我知道我的服务帐户密钥和管理功能是最新的。

如果还有其他需要重点关注的方向,请告诉我。

0 个答案:

没有答案