Last active
June 24, 2020 13:04
-
-
Save XixoWreden/8a27d4643905c34605275a23f493fe5c to your computer and use it in GitHub Desktop.
Valioso pinche Método para actualizar un arreglo de Reference o Referencias en Firestore
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const listaProyectos = [] | |
const listaDepen = [] | |
db.collection('proyectos').get(). | |
then(res => { | |
res.forEach(doc =>{ | |
let proyecto = doc.data() | |
proyecto.id = doc.id | |
listaProyectos.push(proyecto) | |
}); | |
}) | |
console.log(listaProyectos); | |
db.collection('dependencias').get(). | |
then(res => { | |
res.forEach(doc =>{ | |
let dep = doc.data() | |
dep.id = doc.id | |
listaDepen.push(dep) | |
}); | |
}) | |
console.log(listaDepen); | |
setTimeout(function(){ | |
//GUARDAR LO QUE NO TIENEN NADA | |
var config = require('./dependencias.json'); | |
var listsda = new Array() | |
config.dependencias.forEach( elemRela => { | |
// console.log(elemRela) | |
let findP = buscarProyectoForSDATOOL(elemRela.sda) | |
// console.log('PROYECTO ENCONTRADO:::', findP[0].id) | |
let findDe = buscarDependenciaForIDJIra(elemRela.Issueid) | |
// console.log('DEPENDENCIA ENCONTRADO:::', findDe[0].id) | |
if(findP.length > 0 && findP[0].active){ | |
console.log('PROYECTO ENCONTRADO:::', findP[0]) | |
console.log('DEPENDENCIA ENCONTRADO:::', findDe[0]) | |
// console.log('PROYECTO ENCONTRADO:::', findP[0].id) | |
// console.log('DEPENDENCIA ENCONTRADO:::', findDe[0].id) | |
agregarDepAProyecto(findP[0].id,findDe[0].id) | |
} | |
}); | |
}, 4000); | |
function buscarProyectoForSDATOOL(sda){ | |
let sdatool = sda.split('-') | |
let sdaDiv = sdatool[sdatool.length-1] | |
if(sdaDiv != null && sdaDiv != ""){ | |
let listaPro = listaProyectos.filter(item => item.sdatool === sdaDiv) | |
return listaPro | |
}else{ | |
console.log("---- 1 VACIO -----") | |
return [] | |
} | |
} | |
function buscarDependenciaForIDJIra(idJira){ | |
let listadep = listaDepen.filter(item => item.idJira === idJira) | |
return listadep | |
} | |
async function agregarDepAProyecto(idPro, idDep){ | |
console.log('ID PROYECTO ----------',idPro) | |
// let listaDepForProyect = [] | |
// let buscarProyecto = await db.collection('proyectos').doc(idPro).get().then( doc => { | |
// console.log(doc.id) | |
// console.log('LISTA Dependencias',doc.data().dependencia) | |
// // listaDepForProyect = doc.data().dependencia | |
// const docDepCreada = db.collection("dependencias").doc(idDep) | |
// // listaDepForProyect.push(docDepCreada) | |
// // console.log(listaDepForProyect) | |
// }) | |
let guardarDepEnProyecto = await db.collection('proyectos').doc(idPro).update({ | |
dependencia: firebase.firestore.FieldValue.arrayUnion(db.collection("dependencias").doc(idDep)) | |
}).then(()=>{ | |
console.log('PRROYECTO EDITADOO') | |
}) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
El huevo que cuesta encontrar este pinche método para agregar más Referencia al Firestore.
Primero creas la referencia con:
db.collection("dependencias").doc(idDep)
Después la agregas a la chingada función
firebase.firestore.FieldValue.arrayUnion(db.collection("dependencias").doc(idDep))