MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Einfaches Meteor-Schema für Mongo-Geostandortdaten

Hmm, ich kenne die Lösung für Ihren Prozess zum Speichern von Geokoordinaten nicht genau. Aber wenn Sie lng und lat speichern möchten, müssen Sie ein Präfix übergeben. Wieso den? Brunnen-Geokoordinaten haben unterschiedliche Validierungsbereiche. Der Breitengrad ist nur von -90 bis 90 und der Längengrad von -180 bis 180 verfügbar. Wenn Sie kein Präfix speichern, wie möchten Sie sicherstellen, welche Koordinate welche ist? Ein weiterer Hinweis, den ich eines Tages falsch gemacht habe, ist, die Koordinaten in der Reihenfolge Längengrad, Breitengrad zu speichern.

Das Schema, das ich verwende, sieht folgendermaßen aus:

GeocoordsSchema = new SimpleSchema({
  lng: {
    type : Number,
    decimal: true,
    min: -180,
    max: 180
  }, 
  lat: {
    type : Number,
    decimal: true,
    min: -90,
    max: 90
  }
});

Jetzt erstellen Sie verschachtelte Schemas. Erweitern Sie einfach GeocoordsSchema mit LocationSchema und fügen Sie ein Attribut hinzu.

LocationSchema = new SimpleSchema({
  type : {
    type : String,
    autoValue: function() {
      return "Point";
    }
  },
  coordinate: {
    type: GeocoordsSchema 
  }
});

Wenn Sie ein Array von LocationSchema haben möchten, können Sie das Schema in [] Klammern einschließen.

BeachesSchema = new SimpleSchema({
  loc: {
    type: [LocationSchema]
  }
});

Ich habe es nicht getestet, aber so erstelle und verschachtele ich verschiedene Schemas. Nun, diese Lösung benötigt eine Kennung von Lat und Lng. Warum möchten Sie Ihren Daten kein Präfix voranstellen?