【发布时间】:2018-06-06 19:49:33
【问题描述】:
我在 xyz 下有如下结构
{
"pushKey000": {
"findKey": "john_1",
"userName": "john",
"topic": 1
},
"pushKey001": {
"findKey": "john_2",
"userName": "john",
"topic": 2
},
"pushKey002": {
"findKey": "joel_1",
"userName": "joel",
"topic": 1
}
}
现在我正在尝试查询所有条目的数据,其中 findKey 以“john”开头。我尝试了以下方法:(例如使用 REST)
https://abc.firebaseio.com/xyz.json?orderBy="findKey"&startAt="john"
这给了我所有的结果,包括“joel”。基本上它只使用 startAt 的第一个字符,在本例中为 J。
这个firebase video 触发相同类型的查询,但只搜索第一个字符。
我做错了什么还是有其他方法可以使用 findKey 检索它?非常感谢您提前提供帮助
PS:我的 .indexOn 在 findKey 上,无法更改
【问题讨论】:
-
你正在使用
startAt(),所以它只会像函数名称所示的那样从那里开始。我认为您期望的行为类似于contains("john")。如果你想要这种行为,你还需要使用endAt(),我认为是这样的:endAt("john\uf8ff")。 -
嗨@AndréKool。 endAt 为我工作:) 也许我太懒了,太明白了。你能把这个作为答案发布吗?我会标记的:)
标签: firebase firebase-realtime-database