Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

144
Vistas
Javascript: no se puede almacenar una matriz de objetos en Firestore

Estoy tratando de almacenar un objeto en Firestore. Mi objeto contiene una matriz:

 { returnMode: false, id: "SE-74c5219a-acfe-4185-9e33-f78b10ac3f1e", prices: [ { price: { twoHours: 0, firstHour: 0, id: "zero", unlock: 0, final: 0, }, permission: { id: "GENERAL" }, }, { price: { twoHours: 150, unlock: 100, id: "oebb_low", firstHour: 50, final: 50, }, permission: { id: "OEBB" }, }, ], }

Si este objeto está codificado en Cloud Function, me permite guardarlo en Firestore sin fallar. Si reemplazo la matriz del objeto anterior con una variable como esta, todavía funciona:

 const array = [ { price: { twoHours: 0, firstHour: 0, id: "zero", unlock: 0, final: 0, }, permission: { id: "GENERAL" }, }, { price: { twoHours: 150, unlock: 100, id: "oebb_low", firstHour: 50, final: 50, }, permission: { id: "OEBB" }, }, ]; { returnMode: false, id: "SE-74c5219a-acfe-4185-9e33-f78b10ac3f1e", prices: array, }

Sin embargo, cuando la matriz anterior no está codificada en la función de la nube sino que es creada por mi programa, falla. Este es el código que genera la matriz:

 const bikeBoxPriceArray = []; for (let i = 0; i < bikeBoxPermissionArray.length; i += 1) { const doc = bikeBoxPermissionArray[i]; // I cut out the stuff that is not important const bikeBoxPriceArrayElement = { permission: { id: doc.id, name: doc.name, }, price: { id: priceId, unlock: priceUnlock, firstHour: priceFirstHour, twoHours: priceTwoHours, final: priceFinal, }, }; bikeBoxPriceArray.push(bikeBoxPriceArrayElement); }

Verifiqué con bikeBoxPriceArray instanceof Array que de hecho es una matriz. ¿Qué estoy haciendo mal? Probé muchas cosas, pero simplemente no puedo resolverlo. ¿Por qué funciona cuando está codificado pero no con la variable?

El código está dentro de una Transacción de Firebase y no hay ningún mensaje de error, solo me indica la ubicación del error.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Encontré una respuesta a mi propia pregunta de esta publicación .

Antes de fusionar el objeto con la matriz, la matriz debe ser encadenada y luego analizada nuevamente de la siguiente manera:

 const array = JSON.parse(JSON.stringify(bikeBoxPriceArray)); const sessionDocObj = { returnMode: false, timestamp: { // sessionCreated: admin.firestore.FieldValue.serverTimestamp(), sessionCreated: "Karoline", }, id: "SE-" + uuidv4(), prices: array, };
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda