Les fonctions Firebase de Nodejs ne récupèrent pas les résultats des données stockées dans la base de données Cloud Firestore. Donner un:
TypeError de User_id non défini
Code NodeJS
"use-strict"
const admin = require("firebase-admin");
const functions = require("firebase-functions");
const serviceAccount = require("./serviceAccountKey.json");
admin.initializeApp(functions.config().firebase);
exports.sendNotification = functions.firestore.document("Users/{user_id}/Notifications/{notification_id}").onWrite(event => {
const user_id = event.params.user_id;
const notification_id = event.params.notification_id;
console.console.log("User ID: " + user_id + " | Notification ID: " + notification_id);
});
Erreur dans les journaux des fonctions Firebase
TypeError: Cannot read property "user_id" of undefined at
exports.sendNotification.functions.firestore.document.onWrite.event
(/user_code/index.js:10:33) at Object.<anonymous>
(/user_code/node_modules/firebase-functions/lib/cloud-functions.js:112:27)
at next (native) at /user_code/node_modules/firebase-functions/lib/cloud-
functions.js:28:71 at __awaiter (/user_code/node_modules/firebase-
functions/lib/cloud-functions.js:24:12) at cloudFunction
(/user_code/node_modules/firebase-functions/lib/cloud-functions.js:82:36) at
/var/tmp/worker/worker.js:700:26 at process._tickDomainCallback
(internal/process/next_tick.js:135:7)
Règles de base de données
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true; } } }
Réponses:
0 pour la réponse № 1Il semble que vous utilisiez la version 1.0 du module firebase-functions dans votre code de fonctions cloud. L’API a été modifiée en 1.0. consulter le guide de migration pour comprendre ce qui a changé en 1.0.
Il n'y a plus de params
propriété sur le premier argument passé au callback pour un déclencheur onWrite. C'était divisé en deux arguments, un objet Change et un objet EventContext. L'argument EventContext a un params propriété que vous devriez utiliser maintenant.