{
"movies": {
"movie1": {
"genre": "comedy",
"name": "As good as it gets",
"lead": "Jack Nicholson"
},
"movie2": {
"genre": "Horror",
"name": "The Shining",
"lead": "Jack Nicholson"
},
"movie3": {
"genre": "comedy",
"name": "The Mask",
"lead": "Jim Carrey"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我是Firebase的新手.我如何可以检索从上面的数据结果,其中genre = 'comedy'与lead = 'Jack Nicholson'?
我有什么选择?
我试图让所有用户都拥有包含来自Firebase的给定字符串的名称.例如,如果我有这些用户:
Devid, Andy, Bob
Run Code Online (Sandbox Code Playgroud)
我想让所有用户都拥有包含'D'的名称,所以我希望这样做:
Devid, Andy
Run Code Online (Sandbox Code Playgroud)
这是我Firebase的结构:
由于Firebase区分大小写,因此我创建了一个name_包含小写名称的属性.
使用startAt和endAt我可以获得名称以定义的字符串开头的所有用户
ref.orderByChild("name_").startAt(text).endAt(text+"\uf8ff").on('value', ...);
Run Code Online (Sandbox Code Playgroud)
但是这只给了我那个名字以给定字符串开头的用户,例如,如果文本是'D',我会得到:
Devid
Run Code Online (Sandbox Code Playgroud)
1)目前我的查询意味着"给我所有的用户名称_以一个给定的字符串开头"有没有办法让它意味着"给我所有用户的名字包含给定的字符串"? 编辑:没有
Firebase查询与全文搜索运算符没有任何相似之处.要实现这些目标,您要么必须集成外部全文搜索引擎,要么提出非常精细的自定义索引方案.Firebase和索引/搜索
2)目前我不想拥有服务器端代码,实现自定义索引的有效方法是什么?
谢谢