我正在尝试使用firebase数据库,并且会出现一个问题。
在发帖之前,我读过this,this和this github,但没有想到如何在Android上执行此操作(如果可以在js上执行此操作,为什么不在Java上执行此操作? )
我有一个关于键的GUID的注释,我有两个时间戳属性,startTime和endTime。 我从用户那里得到了实际的时间戳,我需要检索用户时间戳在startTime和endTime之间的所有注释。
以下是firebase上的实体示例:
备注:
{
"notes": {
"aedbd23a-ca8e-4160-88a0-1d68f92b34cf": {
"description": "Note test",
"startTime": 1490353200,
"endTime": 1490396400
}
}
}
在普通的SQL上,我可以通过在startTime和endTime之间使用userTime的notes来实现这一点。我如何在firebase上实现这一目标?
答案 0 :(得分:1)
您可以使用Ticket::with('requesters')
->with('requesters.company')
->orderBy('subject','asc')->paginate(10);
link
Query
:
创建一个约束为仅返回值小于或等于给定值的子节点的查询,使用给定的orderBy指令或优先级作为默认值。
endAt(String value)
:
创建一个约束为仅返回值大于或等于给定值的子节点的查询,使用给定的orderBy指令或优先级作为默认值。
答案 1 :(得分:0)
{
"notes": {
"aedbd23a-ca8e-4160-88a0-1d68f92b34cf": {
"description": "Note test",
"startTime": 1490353200,
"endTime": 1490396400,
"startTime_endTime": 1490353200_1490396400
}
}
}
查询将是
ref.child("notes")
.orderByChild("startTime_endTime")
.startAt("1490353200_1490353200")
.endAt("1490353250_1490353250")
在firebase中,当您需要更多过滤器时,请使用复合键 试试这个并告诉我它是否有效。在开始时给予小值和endat给予更大的价值。