Firebase规则配置:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}


Firebase数据库数据样本

javascript - 如何检查数据是否存在?-LMLPHP

使用此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');
  }
});


哪一部分可能出问题了?

最佳答案

更改为此:

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

另外,孩子习惯于走一条路,所有这些孩子都处于同一水平,因此将无法正常工作。

关于javascript - 如何检查数据是否存在?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49445120/

10-09 17:32
查看更多