Firebase - lima1756/mini-semana-topicos-2019 GitHub Wiki
Firebase es una herramienta de google creada para el rapido desarrollo de aplicaciones. En este taller proponemos el uso de Firestore que es la base de datos de Firebase para el almacenamiento de datos.
Para crear un nuevo proyecto, después de crear una cuenta, solo es necesario dar click en el botón "Add project", y asignarle un nuevo nombre.
En la primera pantalla que se abre del proyecto, si se da click en los botones de ios, android o las etiquetas (que representan web). Se podrán ver las propiedades del proyecto y un pedazo de código que se pega en la plataforma en la que estamos trabajando. En este caso damos click en el signo de las etiquetas y mostrará algo como esto:
<script src="https://www.gstatic.com/firebasejs/5.8.4/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
authDomain: "nombre_de_tu_app_su_id.firebaseapp.com",
databaseURL: "https://nombre_de_tu_app_su_id.firebaseio.com",
projectId: "nombre_de_tu_app_su_id",
storageBucket: "nombre_de_tu_app_su_id.appspot.com",
messagingSenderId: "XXXXXXXXXXXXX"
};
firebase.initializeApp(config);
</script>
Existen dos tipos de bases de datos en Firebase, de manera general su funcionamiento es muy similar, en este caso vamos a trabajar con Firestore.
Al crearla podemos ver la estructura de la base de datos y su información, en este caso esta vacio todo. Conforme vayamos agregando información se ira llenando y podremos ver la información ahi mismo.
Para poder hacer uso de esta es necesario declarar que la usaremos:
let db = firebase.firestore();
// Definimos primero el nombre de la bdd que usaremos (nombre del documento), en este caso se llama "answers"
let docRef = db.collection("answers").doc(obj.name);
// Aqui guardaremos la información que exista por si es necesario actualizarla
let allData = null;
// Esta función llama a la base de datos y nos regresa el documento
docRef.get().then(function(doc){
// Si el documento existe entonces agregaremos o actualizaremos información
if(doc.exists){
// Guardamos la inforamción, usamos esta variable si quisieramos actualizar su información
allData=doc.data();
docRef.update({
// Nombre del dato que queremos cambiar : valor
dato:5
// Si quisieramos cambiar más de un valor a la vez separamos por comas cada linea
})
.then(function() {
// Lo que sucederá si se guardo exitosamente
console.log("Document successfully updated!");
})
.catch(function(error) {
// Lo que sucederá si hubo algún tipo de error
console.error("Error updating document: ", error);
});
}
else{
// Si no existe el documento entonces lo crea
docRef.set({
dato:1
}, { merge: true })
.then(function() {
// Lo que sucederá si se guardo exitosamente
console.log("Document written");
})
.catch(function(error) {
// Lo que sucederá si hubo algún tipo de error
console.error("Error adding document: ", error);
});
}
});
// Seleccionamos la base de datos que queremos (documento) en este caso "answers"
db.collection("answers")
.get()
.then(function(querySnapshot) {
// Si se obtuvo exitosamente la variable querySnapshot tiene toda la información
console.log(querySnapshot)
})
.catch(function(error) {
// En caso de error
console.log("Error getting documents: ", error);
});