我正试图吸引居住在波士顿的用户。我还将在其他城市使用此方法。因此,如果它包含“ bos”或“ 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
答案 0 :(得分:2)
要在数据库中查询以 bos
开头的键:
myref.child('Users').orderByKey().startAt('bos').endAt('bos\uf8ff').on("value", function(snapshot) {
...
\uf8ff
只是最后一个已知的Unicode字符,因此您要选择以bos
开头并在bot
之前结束的范围内的所有键。
您会注意到,我删除了orderByChild()
调用,因为Firebase查询只能包含一个orderBy...
。这种方法在服务器上执行过滤,但这意味着您可能必须在客户端上对匹配的节点重新排序。