Parse - 将lat / lng设置为0的Geopoint,防止基于位置的查询

时间:2015-09-15 21:21:50

标签: mongodb parse-platform geolocation geopoints

我的数据库中有一些SchoolsGeolocation值设置为{latitude: 0, longitude: 0}

我想根据用户的位置查询学校,t.GeoPoint {_latitude: 48.87513, _longitude: 2.3389439999999695}

这是我查询它们的方式:       var school_query = new Parse.Query(“School”);

  school_query.near("Geolocation", this.geopoint);
  school_query.limit(10);
  school_query.find().then(...)

10 Schools次返回的Geolocation字段设置为{latitude: 0, longitude: 0}。显然,这不是我想要的。

我尽我所能从结果中排除Schools,例如创建{0:0} geopoint,并使用notEqualTo。我试图将结果限制在我的用户周围10公里。

没有任何作品,0名有价值的学校仍然首先归还。 无论如何都要避免这种情况而不必使用数据吗?

欢迎提出任何建议!

1 个答案:

答案 0 :(得分:1)

如果地理位置为null,则在存在基于位置的查询约束时,将忽略这些对象。我的猜测是var result: JSON = [] override func viewDidLoad() { super.viewDidLoad() var restApiManager = RestApiManager(apiUrl: "http://example.com", apiUsername: "test", apiPassword: "test") let seconds = 10.0 let delay = seconds * Double(NSEC_PER_SEC) var dispatchTime = dispatch_time(DISPATCH_TIME_NOW, Int64(delay)) dispatch_after(dispatchTime, dispatch_get_main_queue(), { self.result = restApiManager.getData() }) } 没有this.geopoint的纬度/经度值对,并且没有被初始化或正确访问。