diff --git a/javascript-practice/src/js/services/firebaseService.js b/javascript-practice/src/js/services/firebaseService.js index 700e5ad..d65b544 100644 --- a/javascript-practice/src/js/services/firebaseService.js +++ b/javascript-practice/src/js/services/firebaseService.js @@ -54,14 +54,14 @@ class FirebaseService { onValue( ref(this.db, path), (snapshot) => { - let result = false; + let result; // snapshot is a type of data by Firebase define snapshot.forEach((childSnapshot) => { const data = childSnapshot.val(); if (data[property] === value) { - result = true; + result = childSnapshot.key; } }); resolve(result); @@ -72,6 +72,20 @@ class FirebaseService { ); }); } + + getDataFromId(id, path) { + return new Promise((resolve) => { + onValue( + ref(this.db, path + id), + (snapshot) => { + resolve(snapshot.val()); + }, + { + onlyOnce: true, + }, + ); + }); + } } export default new FirebaseService();