Firebase规则配置:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
Firebase数据库数据示例
使用此idea,我提出了以下内容,但没有奏效。
const { currentUser } = firebase.auth();
console.log(currentUser.uid);
firebase.database().
ref(`/users/${currentUser.uid}/userSettings`)
.child({ userSetting_DisplayName, userSetting_City, userSetting_DailyLimit })
.once('value', function(snapshot) {
if (snapshot.exists()) {
console.log('exist');
}else{
console.log('not exist');
}
});
哪个部分可能出错了?
答案 0 :(得分:1)
将其更改为:
firebase.database().
ref(`/users/${currentUser.uid}/userSettings`)
.once('value', function(snapshot) {
if (snapshot.exists()) {
console.log('exist');
}else{
console.log('not exist');
}
});
然后您就可以检查userSettings
或者如果您想检查特定孩子是否有某些数据,那么您可以这样做:
ref(`/users/${currentUser.uid}/userSettings`).orderByChild("userSetting_city").equalTo(valuehere).once(...
或者如果你想检查一个特定的孩子是否在那里:
ref(`/users/${currentUser.uid}/userSettings`).child("userSetting_DisplayName").once(...
同样来自文档:
child
child(path)
返回firebase.database.Reference获取指定相对路径的位置的引用。
相对路径可以是简单的子名称(例如," ada")或更深的斜杠分隔路径(例如," ada / name / first")
https://firebase.google.com/docs/reference/js/firebase.database.Reference#child
此外,孩子习惯经历一条路径,所有这些孩子都处于同一水平,所以它不会工作。