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?