Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

465
Views
Firestore Admin SDK FieldValue.increment devuelve un valor incorrecto

Recibo el siguiente error cuando uso FieldValue.increment cuando ejecuto una función en la nube envuelta con firebase-functions-test:

El valor del argumento "datos" no es un documento válido de Firestore.

No se pudo serializar el objeto de tipo "NumericIncrementTransform" (que se encuentra en el campo "recuento").

Firestore no admite objetos de JavaScript con prototipos personalizados (es decir, objetos que se crearon a través del operador "nuevo").

Aquí está el código que está envuelto:

 // `functions` is the firebase-functions module // `firestore` is an initialized FirebaseFirestore.Firestore instance pointing to the // Firestore emulator const { functions, firestore } = require('../../firebase'); const getTestRelationshipRefs = require('../utils/getTestRelationshipRefs'); const admin = require('firebase-admin'); module.exports = functions.firestore .document('orgs/{orgId}/tests/{testId}') .onUpdate(async (change, context) => { const beforeData = change.before.data(); const afterData = change.after.data(); const relationshipRefs = getTestRelationshipRefs(afterData, context.orgId); const batch = firestore.batch(); if (beforeData.active === false && afterData.active === true) { for (const ref of relationshipRefs) { batch.set( ref, { count: admin.firestore.FieldValue.increment(1) }, { merge: true, } ); } }

Hay otras preguntas que parecen similares, como: Función de nube de Firebase - Error no controlado Error: Actualizar ()

Pero parece que estoy haciendo la solución publicada.

Hay otras publicaciones que he visto que indican que esto puede ser el resultado de tener diferentes versiones de @google-cloud/firestore en el árbol de dependencias. No creo que sea eso en este caso, pero estaría encantado de estar equivocado.

Todas las dependencias relacionadas con firebase en mi paquete.json son:

 "firebase-admin": "^9.5.0", "firebase-functions": "^3.13.2", "firebase-tools": "^9.6.1", "@firebase/rules-unit-testing": "^1.2.5", "firebase-functions-test": "^0.2.3",

Aquí está el resultado de npm ls @google-cloud/firestore

 └─┬ firebase-admin@9.5.0 └── @google-cloud/firestore@4.9.8

¿Por qué admin.firestore.FieldValue.increment devuelve el valor incorrecto?

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!