我将通过包含现有(和有用的)firebase 数据结构引用来作为开头:
https://www.firebase.com/blog/2013-04-12-denormalizing-is-normal.html
然而,我正在寻找的是与 MySQL 的 WHERE LIKE 更同义的东西,即返回包含给定子字符串的记录的能力。
具体来说,我想为用户提供一种方法来搜索应用程序的所有(公共)用户(按用户名/姓名/电子邮件/电话/所有这些)。
我不想下载所有用户,然后使用角度过滤器/替代客户端过滤,因为随着用户群的扩展,这可能会变成大量下载(特别是如果搜索跨越多个集合 - 例如用户名、姓名、电子邮件等)。 )
我考虑过使用树结构,例如:
- users
- username
- a
- an
- and
- andy
- andr
- andre
- andrea
- andrew
- ann
- anne
然后我可以在用户输入“a”时引用用户/用户名/a,用户/用户名/a/an 输入“an”等,并且有效地仅根据搜索词引用用户的子集。
考虑到 NoSQL 的性质,以及非规范化数据和保持结构平坦的建议,这种结构有意义吗?
或者,是否有替代/更好的方法来进行 LIKE esque 查询?