Hmm non conosco esattamente la soluzione al tuo processo di salvataggio delle geocoords. Ma se vuoi salvare lng e lat devi passare un prefisso. Come mai? Bene, le geocoordinate hanno intervalli di convalida diversi. La latitudine è disponibile solo da -90 a 90 e la longitudine da -180 a 180. Se non salvi un prefisso, come vuoi assicurarti quale è quale coordinata? Un altro suggerimento che ho fatto un giorno falso è quello di memorizzare le coordinate in longitudine, ordine di latitudine.
Lo schema che sto usando è simile a questo:
GeocoordsSchema = new SimpleSchema({
lng: {
type : Number,
decimal: true,
min: -180,
max: 180
},
lat: {
type : Number,
decimal: true,
min: -90,
max: 90
}
});
Ora crei schemi nidificati. Basta estendere GeocoordsSchema con LocationSchema e aggiungere un attributo.
LocationSchema = new SimpleSchema({
type : {
type : String,
autoValue: function() {
return "Point";
}
},
coordinate: {
type: GeocoordsSchema
}
});
Se vuoi avere una matrice di LocationSchema, puoi racchiudere lo schema tra [] parentesi.
BeachesSchema = new SimpleSchema({
loc: {
type: [LocationSchema]
}
});
Non ho provato, ma è così che creo e annido schemi diversi. Bene, questa soluzione richiede un identificatore di lat e lng. Perché non vuoi anteporre i tuoi dati?