Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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
如何检查firebase子级在JavaScript中是否包含任何特殊值?_Javascript_Firebase_Firebase Realtime Database - Fatal编程技术网

如何检查firebase子级在JavaScript中是否包含任何特殊值?

如何检查firebase子级在JavaScript中是否包含任何特殊值?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我正在尝试获得住在波士顿的用户。我还将在其他城市使用这种方法。因此,如果它包括“bo”或“bo”,我无论如何都想得到值。在这种情况下,我不能使用equalTo,因为数据库包含不同类型的单词,如“bostonmelie”“bostonspek” 我尝试使用这样的代码,但没有成功: var myref= firebase.database().ref(); myref.child('Users').orderByChild('Mothclass').on("value", function(sna

我正在尝试获得住在波士顿的用户。我还将在其他城市使用这种方法。因此,如果它包括“bo”或“bo”,我无论如何都想得到值。在这种情况下,我不能使用
equalTo
,因为数据库包含不同类型的单词,如“bostonmelie”“bostonspek”

我尝试使用这样的代码,但没有成功:

var myref= firebase.database().ref();

myref.child('Users').orderByChild('Mothclass').on("value", function(snapshot) {
    //console.log(snapshot.val());
    snapshot.forEach(function(data) {
        //console.log(data.key);

        var n = data.key.includes("bos");
        console.log(n);


    });
});
控制台日志

00jszBe7JKba7DHwZKbK1G9ID7D3 checkfraud.js:105:9
1Fnyqg0T7ldDEPGppu9zOIa66ZE2 checkfraud.js:105:9
2LbwNtF1vWW0AWiKRum45xD04812 checkfraud.js:105:9
2kB7IwMAlzWK6l5T9hWXHUoCiL42 checkfraud.js:105:9
3ASeCkjaxrQrPtelENfkm1XvZfJ3 checkfraud.js:105:9
3JmFZ9fztRbnFhTLIbscp97IXjB3 checkfraud.js:105:9
3i588ADWdsU4PX86wyNnk961GBC2 checkfraud.js:105:9
3p6tvDw3SfdOp2KptgzK0Padn143 checkfraud.js:105:9
3yAWS85t4xc8awxiZhE20qFkUGd2 checkfraud.js:105:9 

要查询数据库中以bos开头的键,请执行以下操作:

myref.child('Users').orderByKey().startAt('bos').endAt('bos\uf8ff').on("value", function(snapshot) {
  ...
\uf8ff
只是最后一个已知的unicode字符,因此您选择的所有键的范围从
bos
开始,到
bot
结束


您会注意到,我删除了
orderByChild()
调用,因为Firebase查询只能包含一个
orderBy…
。此方法在服务器上执行筛选,但这意味着您可能必须对客户端上的匹配节点重新排序。

要查询数据库中以
bos
开头的密钥,请执行以下操作:

myref.child('Users').orderByKey().startAt('bos').endAt('bos\uf8ff').on("value", function(snapshot) {
  ...
\uf8ff
只是最后一个已知的unicode字符,因此您选择的所有键的范围从
bos
开始,到
bot
结束


您会注意到,我删除了
orderByChild()
调用,因为Firebase查询只能包含一个
orderBy…
。这种方法在服务器上执行过滤,但这意味着您可能必须重新排序客户端上的匹配节点。

“它不起作用”是一个无用的问题描述;如果成功了,你就不会在这里了。代码记录了什么?控制台上的代码变为“false”。我从未使用过firebase,但您不应该查看
数据.val()
中的
“bos”
data.key
不是由“随机”字母和数字组成的唯一ID吗?那么让我们返回一步,执行
console.log(data.val())data.val()
返回的是一个对象,而不是字符串。控制台显示对象的结构,我想您需要包括列名。所以类似于
data.val().city.includes(“bos”)
?你还不明白这是怎么回事吗?“它不起作用”是一个无用的问题描述;如果成功了,你就不会在这里了。代码记录了什么?控制台上的代码变为“false”。我从未使用过firebase,但您不应该查看
数据.val()
中的
“bos”
data.key
不是由“随机”字母和数字组成的唯一ID吗?那么让我们返回一步,执行
console.log(data.val())data.val()
返回的是一个对象,而不是字符串。控制台显示对象的结构,我想您需要包括列名。所以类似于
data.val().city.includes(“bos”)
?你还不明白这是怎么回事吗?