Cześć
Przygotowuje podstawową stronę w oparciu o firebase.
Udało mi się stworzyć logowanie oraz rejestrację oraz dodawanie danych danych do firestore poprzez formularza.
Niestety dane są przypisane do ogólnej bazy danych, czy da się je rozdzielić na użytkowników?
Próbowałem to znaleźć w necie oraz w dokumentacji firebase, ale niestety nie wiem jak to prawidłowo napisać żeby odszukać rozwiązanie mojego problemu. Czy spotkaliście się z tym lub wiecie jak to zrobić?
Aktualnie mój kod JS z sprawdzaniem czy użytkownik jest zalogowany oraz z dodawaniem treści wygląda w ten sposób:
import {initializeApp} from 'https://www.gstatic.com/firebasejs/9.17.1/firebase-app.js';
import { getFirestore, collection, getDocs, addDoc, updateDoc, setDoc} from "https://www.gstatic.com/firebasejs/9.17.1/firebase-firestore.js";
const firebaseConfig = {
};
const app = initializeApp(firebaseConfig);
const db = getFirestore(app);
const colRef = collection(db,'Note');
// const washingtonRef = doc(db, "cities", "DC"); //update doc
//wypisywanie dokumentu
const querySnapshot = await getDocs(collection(db, "Note"));
querySnapshot.forEach((doc) => {
// doc.data() is never undefined for query doc snapshots
console.log(doc.id, " => ", doc.data().Title);
console.log(doc.id, " => ", doc.data().Descritpion);
});
//dodawanie poprzez formularz
const addNote = document.querySelector('.note-container');
const addBtn = document.querySelector('.note-btn');
addBtn.addEventListener('click',(e)=>{
e.preventDefault();
if(addNote.title.value && addNote['text-body'].value != null){
addDoc(colRef,{
Title: addNote.title.value,
Descritpion: addNote['text-body'].value
})
.then(()=>{
addNote.reset();
});
console.log('dodano treść');
}
else{
alert("dodaj treść");
}
});
onAuthStateChanged(auth, (user) => {
if (user !== null) {
setTimeout("location.href = 'Index.html';",1500);
const uid = user.uid;
// ...
} else {
// User is signed out
// ...
}
});