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 habenpm 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?
Ähnliche Probleme auf Github: https://github.com/firebase/firebase-functions/issues/149 –
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? –
Bearbeitet durch Hinzufügen des Inhalts von package.json –