Ich muss GPS-Punkte (Zeitstempel, Lon, Lat) von verschiedenen Benutzern speichern.mongodb effizienteste Möglichkeit, GPS-Tracking-Daten zu speichern
sollte ich eine separate Benutzer-Sammlung und eine GPS-Datenerfassung:
Benutzer
{_id: 1, name: 'A'}
gps
{_id: 1, userId: 1, timestamp: ..., lon: ..., lat: ...}
{_id: 2, userId: 1, timestamp: ..., lon: ..., lat: ...}
oder kann ich nur die GPS-Daten als Array in den Speicher entsprechendes Benutzerdokument:
Benutzer
{_id: 1, name: 'A', gps: [
{timestamp: ..., lon: ..., lat: ...}
{timestamp: ..., lon: ..., lat: ...}
]}
Ich weiß, dass die Option 2 würde für SQL DBs verrückt sein, aber ich bin nicht sicher über die Auswirkungen auf die Leistung mit MongoDB
MongoDB erfordert, dass die Positionsdaten entweder im Array-Format Länge, Breite '[lon, lat]' oder im GeoJSON-Format vorliegen, zB '{" Typ ":" Punkt "," Koordinaten ": [lon, lat]}' um gültig zu sein für die Verwendung mit georäumlichen Abfragen, wenn dies ein Problem darstellt. Es wäre wahrscheinlich am besten, diesen Weg als gute Praxis zu speichern, auch wenn Sie keine georäumlichen Abfragen wünschen. –