Javascript 如何在Firebase中进行内容搜索?

Javascript 如何在Firebase中进行内容搜索?,javascript,firebase,Javascript,Firebase,我有大约300条记录存储在数据库中 每个记录的结构如下所示: unique ID/key (e.g. -K1vsg7F4V_5usvPejZV) - city - firstName - lastName - image (encoded as base64) 特别是对于图像,当前的导出是15Mb 所以每次我想搜索,比如说名字,我需要下载15Mb,然后在浏览器中搜索数据。用这种方式使用它的带宽非常大,速度也非常慢 我一直在担心内容搜索即将到来?但我还没看到 想法?还是我错过了一些明显的

我有大约300条记录存储在数据库中

每个记录的结构如下所示:

unique ID/key (e.g. -K1vsg7F4V_5usvPejZV)
 - city
 - firstName
 - lastName
 - image (encoded as base64)
特别是对于图像,当前的导出是
15Mb

所以每次我想搜索,比如说名字,我需要下载
15Mb
,然后在浏览器中搜索数据。用这种方式使用它的带宽非常大,速度也非常慢

我一直在担心内容搜索即将到来?但我还没看到


想法?还是我错过了一些明显的东西?

为什么要下载数据并进行另一次搜索?只需查询您感兴趣的名字

ref.orderByChild("firstName").equalTo("Kato")
另一个超级简单的选择是使用相同的键将图像存储在另一个节点中

images
  unique ID/key
      image:
  unique ID/key
      image:

然后,您只在需要时加载所需图像,不会影响其他数据。

请参阅。有几个问题:1)如果我打电话给orderByChild,然后equalTo,这会不会只下载显示firstName值的消息的记录?2) 但我需要的是部分匹配,例如搜索“Kat”时也应返回“Kato”。我认为我们不能用Firebase做到这一点?将图像存储在不同的位置似乎是个好主意。我有一个要显示的人的目录。。因此可能需要实现某种延迟加载解决方案,在人们滚动时抓取图像。2) 检查文档中的.startAt和.endAt。在本页的“范围查询”部分中,向下查看
.startAt(searchVal).endAt(searchVal+“\uf8ff”)。在(“值”上,函数(快照){
起作用。您知道如何修改它以进行不区分大小写的搜索吗?