Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

224
Visualizações
cómo corregir "FirebaseError: el tipo no coincide con la instancia esperada". en la transacción de base de fuego. Reaccionar.js

en mi sitio, cuando se elimina una sección, quiero que se eliminen todos los elementos de esa sección, por lo que estoy usando una transacción

 const sectionRef = db .collection('items') .where('subSection', '==', sectionName); db.runTransaction((transaction) => { return transaction .get(sectionRef) .then((data) => { data.docs.map((doc) => { transaction.delete(doc); }); }) .catch((e) => { console.log('transaction failed', e); }); }); };

Estoy teniendo el siguiente error

(FirebaseError): el tipo no coincide con la instancia esperada. ¿Pasaste una referencia de un SDK de Firestore diferente?

aquí está la configuración de base de fuego

 firebaseConfig = { apiKey: process.env.REACT_APP_PROD_API_KEY, authDomain: process.env.REACT_APP_PROD_AUTH_DOMAIN, projectId: process.env.REACT_APP_PROD_PROJECT_ID, storageBucket: process.env.REACT_APP_PROD_STORAGE_BUCKET, messagingSenderId: process.env.REACT_APP_PROD_MESSAGING_SENDER_ID, appId: process.env.REACT_APP_PROD_APP_ID, measurementId: process.env.REACT_APP_PROD_MEASUREMENT_ID, }; const firebaseApp = firebase.initializeApp(firebaseConfig); const db = firebaseApp.firestore();

¿alguien puede ver el problema?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Con JS SDK (y los otros SDK de cliente: iOS, Android, C++) no puede obtener los documentos de una colección (o de una consulta) en una Transacción .

Como verá en el documento, debe pasar una DocumentReference al método get() (de una Transacción).

Puede llamar a este método get() varias veces en la transacción, pero no puede pasarle una CollectionReference .


Por otro lado, esto es posible a través de los SDK de administración (es decir, las bibliotecas del servidor ). Por ejemplo, con el de Node.js, consulte el documento para el método get() .

Puede obtener más detalles sobre la diferencia entre estos SDK y sus motivos en este elemento de documentación .


Por lo tanto, dado que utiliza una consulta, significa que ahora no indica por adelantado (es decir, al codificar) la lista de documentos para leer en la Transacción. Por lo tanto, debe usar Admin SDK, por ejemplo, en una función de nube.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda