sql >> Base de Datos >  >> NoSQL >> MongoDB

Esquema simple de meteorito para datos de ubicación geográfica de mongo

Hmm, no sé exactamente la solución a su proceso de guardar geocoords. Pero si desea guardar lng y lat, debe pasar un prefijo. ¿Por qué? Bueno, los geocoords tienen diferentes rangos de validación. La latitud solo está disponible de -90 a 90 y la longitud de -180 a 180. Si no guarda un prefijo, ¿cómo quiere asegurarse de cuál es qué coordenada? Otro consejo que he hecho falso algún día es almacenar las coordenadas en orden de longitud y latitud.

El esquema que estoy usando se ve así:

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

Ahora crea esquemas anidados. Simplemente extienda GeocoordsSchema con LocationSchema y agregue un atributo.

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

Si desea tener una matriz de LocationSchema, puede envolver el esquema entre [] corchetes.

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

No lo he probado, pero así es como creo y anido diferentes esquemas. Bueno, esta solución necesita un identificador de lat y lng. ¿Por qué no quieres prefijar tus datos?