2017-04-16 2 views
0

Ist es möglich, zurückgegebene Objekte von Backand zu sortieren, abhängig davon, wie nahe das Standortfeld vom Typ "point" dem aktuellen Standort des Benutzers ist?Sortierung nach nächstgelegenen Standorten in Backand?

Aus der Backand-Dokumentation habe ich nur Unterstützung für die Abfrage basierend auf einer maximalen Entfernung von einem Punkt gesehen, aber nichts über die Sortierung nach Geo-Punkten.

Antwort

0

Ich konnte eine benutzerdefinierte Abfrage in Backand erstellen, die ich von der Backand API treffen kann. Um die Entfernung von Benutzern in der Nähe zu sortieren, muss ich leider den Abstand vom aktuellen Benutzer zu jedem anderen Benutzer in der Datenbank berechnen und dann basierend darauf sortieren. Scheint sehr komplex - eine Menge Berechnungen jedes Mal, wenn die Abfrage aufgerufen wird! Es wird wahrscheinlich große Leistungseinbußen geben, wenn die Datenbank größer wird. Ich denke, es beantwortet diese Frage, aber ich hoffe immer noch, eine bessere Alternative zu finden.

+0

Es scheint, als ob Sie möglicherweise einen Graphikalgorithmus und eine Memo-Erstellung benötigen, wodurch die Zeit, die Sie für die Berechnung dieser Entfernungen aufwenden, auf Kosten der Erhöhung Ihrer Datenspeicherkosten reduziert werden kann. Eine andere Option wäre, den Abstand zu einem bestimmten Benutzer als ein Feld in der Abfrage zurückzugeben. Wenn Sie anstelle der Entfernung die Entfernung im Quadrat überprüfen, können Sie die erforderlichen Operationen auf zwei Multiplikationen und eine Addition für jeden Benutzer in der Datenbank abschneiden. Das Problem besteht darin, dass dies jedes Mal, wenn ein Benutzer aktualisiert wird, N-mal ausgeführt werden muss. –