我正在创建一个简单的网站,并且无法使用带有currentUserId的firebase实时数据库进行操作。
我的身份验证系统运行良好;我可以在数据库上登录/注册/注销。而且我可以通过从表单获取输入来将数据写入Firebase。
//GETTING DATA WITH FORM
// Listen for form submit
document.getElementById('form').addEventListener('submit', submitForm);
// Submit form
function submitForm(e){
e.preventDefault();
// Get values
var name = getInputVal('name');
var sets = getInputVal('sets');
var reps = getInputVal('reps');
var weights = getInputVal('weights');
// Write data
writeData(name, sets, reps, weights);
// Clear form
document.getElementById('form').reset();
}
// Function to get form values
function getInputVal(id){
return document.getElementById(id).value;
}
//CRUD OPERATIONS
// Reference
var DataRef = firebase.database().ref('users/' + 'exercises/');
// Write data to database
function writeData(name, sets, reps, weights){
var newDataRef = DataRef.push();
newDataRef.set({
name: name,
sets: sets,
reps: reps,
weights: weights,
});
}
在解决此id问题之前,我不想开始阅读,更新和删除。
那么如何对每个具有id的用户执行CRUD操作?我该怎么办?
答案 0 :(得分:0)
您是否要问如何在当前用户特定的位置写入数据?如果是这样:
var currentUser = firebase.auth().currentUser;
var DataRef = firebase.database().ref('users/' + currentUser.uid + '/exercises/');
请注意,这仅在保证当前用户已经登录的情况下才有效。如果不能保证将上述代码放在auth state listener中。