【发布时间】:2018-04-10 23:13:57
【问题描述】:
我想使用 firebase 实时数据库为我的应用创建搜索功能,类似于 facebook 搜索。
我做了一些研究并承认 firebase 实时无法使用“文本包含”进行搜索。但我相信必须有一些方法来实现它,比如结合 startAt 或 endAt。
我需要一些建议来做这件事的最佳实践。
数据库结构如下所示:
Restaurant
-->RandomID
---->name: 'Good Restaurant'
---->address:
---->desc:
-->RandomID
---->name: 'Dixon Lee Restaurant'
---->address:
---->desc:
-->RandomID
---->name: 'MCD'
---->address:
---->desc:
已编辑 我不确定 startAt 和 endAt 是如何工作的。如果我使用 startAt(3) 是否应该返回 3 及以上?如果我将 startAt 与字符串一起使用会怎样?像下面的问题我ecnounter:
firebase.database().ref('/restaurants').orderByChild('name').startAt('Good').on('value',snap=>{
console.log(snap.val())
})
我正在考虑使用 startAt/endAt 实现“文本包含”,它将找到以关键字开头/结尾的字段的特定值。不确定这是 startAt/endAt 的用法。
【问题讨论】:
-
既然您已经找到了有关它的答案,您认为哪些具体是可能的,以及它如何与其他答案相匹配?否则,我不确定要回答什么,或者它与现有的答案(非常丰富)有何不同。
-
@FrankvanPuffelen 感谢您一直回复 Firebase 问题。我对 startAt 和 endAt 的使用有疑问,文档不够清晰,无法指导像我这样的菜鸟。我已经用我遇到的问题更新了帖子。
标签: firebase firebase-realtime-database angularfire