Firebase Admin Node.js База данных для чтения / записи - PullRequest
0 голосов
/ 17 сентября 2018

Кажется, я не могу найти правильный способ использования функций read/write для администратора в облачных функциях. Я работаю над функцией обмена сообщениями, которая читает новые сообщения, созданные в базе данных реального времени с помощью облачных функций 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 я могу прочитать все console.logs, кроме одного внутри return userInfoRef.on.... Мой синтаксис неверен? Я попытался несколько других вариантов для чтения оснастки. Возможно я не использую обратные вызовы эффективно? Я точно знаю, что мой ключ учетной записи службы и функции администратора обновлены.

Если есть другое направление, на котором я должен сосредоточиться, пожалуйста, дайте мне знать.

...