我正在使用解析版本“1.14.4”iOS 10.3.2和swift 3. 无论本地(他返回的对象是固定的)还是远程的,查询都很慢。 由于基于缓慢的数据返回解析iOS swift 3.
let placeObject = PFObject(className:"PlaceObject")
let point = PFGeoPoint(latitude:self.PointGlobal.latitude, longitude:self.PointGlobal.longitude)
placeObject["location"] = point
let query = PFQuery(className:"CLocationObject")
// Interested in locations near user.
query.whereKey("location", nearGeoPoint:point)
// Limit what could be a lot of points.
query.limit = 200
let localQuery = (query.copy() as! PFQuery).fromLocalDatastore()
localQuery.findObjectsInBackground{
(objects: [PFObject]?, error: Error?) -> Void in
self.dataReturnedLocally = true
.....
if self.dataReturnedLocally{
print("local query with no error there was data already")
}
else {
print("getting data remotely")
query.findObjectsInBackground{
(objects: [PFObject]?, error: Error?) -> Void in
if error == nil {
if let objects = objects {
谢谢杰克,但本地查询也很慢。在这种情况下,这应该与MongoDB无关。 – user2867432
基于地理位置的查询将成为本地最慢的查询类型,不幸的是我不认为你能够进入本地数据存储的本质。我不知道你可以用这个做任何索引。所以,你最好的选择就是再次将它改成内置而不是在附近。没有其他的事情要做。 –
谢谢杰克,但在我的情况下,它不会有什么不同,因为它会返回相同数量的数据点。你知道一种技术,我们可以在Parse中查询以前没有返回的数据吗? – user2867432