3

ich eine Wolke Firebase Funktion bereitgestellt habe einige zusammengefassten Daten zu aktualisieren, aber ich binKann nicht Art von Firestor Wert dekodieren

aggregateReceivedRatings: Error: Cannot decode type from Firestore Value: {"integerValue":"3"} at DocumentSnapshot._decodeValue (/user_code/node_modules/firebase-admin/node_modules/@google-cloud/firestore/src/document.js:464:15) at DocumentSnapshot.get (/user_code/node_modules/firebase-admin/node_modules/@google-cloud/firestore/src/document.js:372:17) at exports.aggregateReceivedRatings.functions.firestore.document.onWrite.event (/user_code/lib/index.js:9:32) at Object. (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:59: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:53:36) at /var/tmp/worker/worker.js:695:26 at process._tickDomainCallback (internal/process/next_tick.js:135:7)

Die Funktion des auf dem Firestor Lösung Schnitt dargestellt ist sehr ähnlich immer für die Aggregation Anfragen:

exports.aggregateReceivedRatings = functions.firestore.document('users/{userId}/feedbacks_received/{ratingId}') 
.onWrite(event => { 
    var ratingVal = event.data.get('rating'); 

    const db = admin.firestore(); 
    var restRef = db.collection('users').document(event.params.userId); 

    return db.transaction(transaction => { 
    return transaction.get(restRef).then(restDoc => { 
     var newNumRatings = restDoc.data('received_feedbacks').tot + 1; 

     var newSum = restDoc.data('received_feedbacks').sum + ratingVal; 

     return transaction.update(restRef, { 
     sum: newSum, 
     tot: newNumRatings 
     }); 
    }); 
    }); 
}); 

Und der Bewertungswert ist die ganze Zahl 3.

ich auch

laufen habe

npm install [email protected] [email protected] --save

und erneut eingesetzt, aber ohne Glück.

Mein package.json enthält folgende Komponenten:

{ 
    "name": "functions", 
    "scripts": { 
    "build": "./node_modules/.bin/tslint -p tslint.json && ./node_modules/.bin/tsc", 
    "serve": "npm run build && firebase serve --only functions", 
    "shell": "npm run build && firebase experimental:functions:shell", 
    "start": "npm run shell", 
    "deploy": "firebase deploy --only functions", 
    "logs": "firebase functions:log" 
    }, 
    "main": "lib/index.js", 
    "dependencies": { 
    "firebase-admin": "~5.4.2", 
    "firebase-functions": "^0.7.1" 
    }, 
    "devDependencies": { 
    "tslint": "^5.8.0", 
    "typescript": "^2.5.3" 
    }, 
    "private": true 
} 

Jede Hilfe?

+1

Ähnliche Probleme auf Github: https://github.com/firebase/firebase-functions/issues/149 –

+1

Hey Alberto. Firebaser hier. Es ist nicht sofort klar, was das verursachen würde, aber unsere Ingenieure vermuten, dass es mit Ihren Abhängigkeiten zusammenhängen könnte. Können Sie Ihre Frage bearbeiten, um Ihre 'package.json' einzuschließen? –

+0

Bearbeitet durch Hinzufügen des Inhalts von package.json –

Antwort

2

Aktualisieren Sie einfach den Firebase-Administrator auf 5.5.1. Es hat für mich funktioniert. Verwenden Sie einfach die Befehlszeile in: npm installieren --save [email protected]^5.5.1

Verwandte Themen