Estoy intentando eliminar todas las subcolecciones de un documento de Firestore en React Native, utilizando el método Firebase Cloud Functions recursiveDelete(). Cuando se llama a la función, falla con
[Unhandled promise rejection: RangeError: Maximum call stack size exceeded.] at [native code]:null in map at [native code]:null in map . . . at [native code]:null in mapHay muy poca documentación sobre esta función, de hecho, ni siquiera se menciona en los documentos oficiales de Firebase. Solo está documentado aquí https://googleapis.dev/nodejs/firestore/4.15.1/Firestore_.html#recursiveDelete . Las personas de esta discusión parecían tener éxito con esta función.
Implementé mi función siguiendo las instrucciones de la documentación, por lo que este error me confunde, especialmente porque tenía la impresión de que el objetivo de esta función era evitar exceder el tamaño máximo de la pila de llamadas.
Esta es mi función en la nube que llama a recursiveDelete():
exports.deleteSubs = functions.https.onCall(async(data, context)=>{ await firestore.recursiveDelete(data.path) })y el código front-end que llama a la función de nube
var functions = firebase.functions() let deleteFn = functions.httpsCallable('deleteSubs'); let ref = db.collection("Posts").doc(post.key) deleteFn({path: ref})Este error ocurre con y sin el bulkWriter opcional incluido en el ejemplo de documentos.
También falla en documentos sin subcolecciones anidadas (lo que me confunde sobre cómo se excede el tamaño de la pila).
He verificado que la ruta que se está pasando es correcta.