Я пытаюсь создать push-уведомления от устройства к устройству для приложения iOS с помощью функций Firebase Cloud. Я хочу инициировать событие всякий раз, когда новый дочерний элемент создается в базе данных по ссылке '/ user-notifications / {notificationRecipientUid} / {challengeId}'. Вот мой код index.js:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendWinLoseOrTieNotification = functions.database.ref('/user-notifications/{notificationRecipientUid}/{challengeId}').onWrite(event => {
...
const challengeId = event.params.challengeId;
functions.database.ref('/challenges/' + challengeId).once('value').then(function(snapshot) {
const challengerUid = snapshot.val().challengerUid;
...
});
});
Когда новый дочерний элемент добавляется в базу данных в этом месте, я получаю эту ошибку «TypeError: functions.database.ref (...). Once is not a function» в журналах функций консоли Firebase. Таким образом, для ref, как в веб-api, нет метода 'Once':
firebase.database().ref('...').once('value').then(function(snapshot) {
...
});
Мой вопрос: как прочитать существующее значение базы данных внутри index.js?