Estoy comenzando con firebase-firestore y quiero usar los datos recopilados más adelante en mi función, pero cuando intento llamar a estos datos, devuelve vacío o indefinido.
//This comes from a previous firestore call doc.ref.collection("guardias").doc(diasem).get().then((doc) => { if(doc.exists) { var obj = doc.data(); var guardiasn = Object.keys(obj).map((key) => [String(key), obj[key]]); } else { //doc.data() will be undefined in this case alert("Se ha producido un error en la base de datos. Por favor, ponte en contacto con el administrador") } }).catch((error) => { console.log("Se ha producido un error en la base de datos. Por favor, ponte en contacto con el administrador:", error); }); console.log(guardiasn)devuelve indefinido;
var guardiasn = Object.keys(obj).map((key) => [String(key), obj[key]])
En primer lugar, ¿puedo preguntar por qué necesita incluir el código anterior?
Probablemente estructuraría el código de la siguiente manera:
var guardias = db.collection("guardias").doc(diasem); // I'm not sure on your data types here, // but you could either push the data to an array // or update a variable like so: const data = []; guardias.get().then((doc) => { if (doc.exists) { data.push(doc.data()); console.log("Document data:", obj); } else { // doc.data() will be undefined in this case alert("Se ha producido un error en la base de datos. Por favor, ponte en contacto con el administrador") } }).catch((error) => { console.log("Se ha producido un error en la base de datos. Por favor, ponte en contacto con el administrador:", error); });