Функции Firebase onCreate триггер Ошибка: TypeError: Невозможно прочитать свойство 'match' из неопределенного - PullRequest
0 голосов
/ 28 августа 2018

Попытка развернуть функцию с запущенным OnCreate для базы данных, но она возвращает мне эту ошибку. Вот простой код и ответ об ошибке:

Просто не в состоянии выяснить, почему не найдена ошибка совпадения?

Версии модулей:

nodejs: Version 8.11.3
Function : deployed with node 8 runtime version. 
"firebase": "^5.3.0"
"firebase-admin": "^5.12.1"
"firebase-functions": "^1.1.0"
"typescript": "^2.5.3"

Код:

import functions = require('firebase-functions');
import admin = require('firebase-admin');
exports.functionName = functions.database.ref('/user/{uid}/email').onCreate((snap, context) => {
    console.log(snap.val());
});

Обновление вопроса: это последний и самый обновленный код. Я пытаюсь получить подробную информацию о вновь добавленном объекте.

Ошибка: в базу данных Firebase добавлен новый элемент:

TypeError: Cannot read property 'match' of undefined
    at resourceToInstanceAndPath (/srv/node_modules/firebase-functions/lib/providers/database.js:154:26)
    at dataConstructor (/srv/node_modules/firebase-functions/lib/providers/database.js:122:38)
    at Object.<anonymous> (/srv/node_modules/firebase-functions/lib/cloud-functions.js:89:32)
    at Generator.next (<anonymous>)
    at /srv/node_modules/firebase-functions/lib/cloud-functions.js:28:71
    at new Promise (<anonymous>)
    at __awaiter (/srv/node_modules/firebase-functions/lib/cloud-functions.js:24:12)
    at cloudFunction (/srv/node_modules/firebase-functions/lib/cloud-functions.js:82:36)
    at /worker/worker.js:728:24
    at <anonymous>

Ответы [ 4 ]

0 голосов
/ 11 июля 2019

У меня была такая же ошибка, когда я развернул, у меня было это предупреждение:

⚠ functions: у вас должна быть версия firebase-functions, которая находится по адресу минимум 2.0.0. Пожалуйста, запустите npm i - сохранить firebase-functions @ последние в папка функций.

после того, как я установил последнюю версию firebase-функций, она работала.

Итак, мое решение было:

npm i - сохранить firebase-functions @ latest

0 голосов
/ 17 сентября 2018

У меня тоже есть эта проблема, и я считаю, что она связана с использованием node8 в функциях firebase. по крайней мере, это последнее серьезное изменение.

0 голосов
/ 14 февраля 2019

У меня возникла эта проблема, и я обнаружил, что мой тип события триггера облачной функции (запись) и мой вызов firebase.database.ref('...').onChange(...) не совпадали. Как только я переключил вызов на firebase.database.ref('...').onWrite(...), все отлично заработало!

Вид глупой ошибки с моей стороны. Надеюсь, это будет полезно для кого-то еще!

0 голосов
/ 28 августа 2018

Вы используете «старый» синтаксис облачных функций (до версии 1.0.0 Firebase SDK для облачных функций) с onCreate((event) => {}), а версия SDK в вашем проекте - версия 1.1.0.

Вы должны изменить синтаксис на

.onCreate((snap, context) => {})

как объяснено в документации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...