我在parse.com上有一个名为Journey的课程,其中包含一个来源和一个目的地专栏。由于您无法在一个对象上拥有两个地理位置,因此我必须将这些指针指向一个单独的Address类来存储位置数据。
Journey
-------
objectId
origin (Pointer to Address object)
destination (Pointer to Address object)
Address
-------
objectId
location (geopoint)
country
我无法弄清楚如何构建地理查询以查找原点靠近特定地理位置的旅程。
我可以轻松地对Address类进行地理查询,并返回点附近的所有Address对象。但这似乎是浪费,因为其中一些可能是一个目的地'而不是起源'。我还需要对Journey类进行单独查询,以将这些Address对象与Journey origin相匹配,以便找到合适的旅程。
有更好的方法吗?例如我可以使用原始关系的地理查询来查询Journey对象吗?
答案 0 :(得分:0)
查看关系查询的文档:
https://parse.com/docs/rest#queries-relational
你有"起源"列并使用$inQuery
运算符,例如
where={
"origin":{
"$inQuery":{
"where":{
"location":{
"$nearSphere": {
"__type":"GeoPoint",
"latitude":30.0,
"longitude":-20.0
}
}
},
"className":"Address"
}
}
}