Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查数据是否存在?_Javascript_Firebase_React Native_Firebase Realtime Database_Expo - Fatal编程技术网

Javascript 如何检查数据是否存在?

Javascript 如何检查数据是否存在?,javascript,firebase,react-native,firebase-realtime-database,expo,Javascript,Firebase,React Native,Firebase Realtime Database,Expo,Firebase规则配置: { "rules": { ".read": "auth != null", ".write": "auth != null" } } Firebase数据库数据示例 使用这个,我想出了如下的一些东西,但不起作用 const { currentUser } = firebase.auth(); console.log(currentUser.

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”)

另外,子对象用于通过一条路径,所有这些子对象都处于同一级别,因此它不起作用。

我认为这行:
.child({userSetting\u DisplayName,userSetting\u City,userSetting\u dailyllimit})
因为我怀疑您是否可以在此处和此处将对象用作子对象