我将 firebase 与 GeoFire 结合使用,效果很好,但我需要再进行一次查询,但我不确定应该如何完成。
这是我的 GeoFire/Firebase 查询:
var geoFire = new GeoFire(ref.child("geoFire"));
var geoQuery = geoFire.query({
center: [51.315077, 3.73261],
radius: 100 //kilometers
})
geoQuery.on("key_entered", function(key, location, distance) {
ref.child("articles").child(key).on("value", function(snap){
var x = snap.val()
DATA.push(x)
})
})
这是我在 firebase 中的 json 数据库:
geoFire
-JmE05U-Wbr5LGRSh0Z8
-JmE0COUFBRPZIBqwfYN
articles
-JmE05U-Wbr5LGRSh0Z8
* ...
* articlePostDate: 2015/04/26 08:00:00
* ...
-JmE0COUFBRPZIBqwfYN
* ...
* articlePostDate: 2015/04/26 12:00:00
* ...
-JmE0Iq7-uvrk5Tg_K8_
* ...
* articlePostDate: 2015/01/26 08:00:00
* ...
-JmE0MrnstNv9d_8ozQ4
* ...
* articlePostDate: 2015/04/26 15:00:00
* ...
上面的 GeoFire/Firebase 查询返回 2 篇文章(但可能是 100 多篇文章),这是正确的。
我的问题:
如何扩展下面的 Firebase 查询,以便我可以根据一系列 articlePostDates 获取记录?例如,所有 GeoFire 返回的记录的发布日期都在2015/04/26 07:00:00和2015/04/26 16:00:00之间?我认为它与 .startAt() 和 .endAt() 相关,但我不确定如何。
ref.child("articles").child(key).on("value", function(snap){
var x = snap.val()
DATA.push(x)
})
谢谢你的建议。