[英]How to check if data exist?
Firebase規則配置:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
Firebase數據庫數據樣本
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');
}
});
哪一部分可能出問題了?
更改為此:
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
另外,孩子習慣於走一條路,所有這些孩子都處於同一水平,因此將無法正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.