Hmm eu não sei exatamente a solução para o seu processo de salvar geocoords. Mas se você quiser salvar lng e lat você tem que passar um prefixo. Por quê? Os geocoords de poços têm diferentes intervalos de validação. Latitude só está disponível de -90 a 90 e Longitude de -180 a 180. Se você não salvar um prefixo, como você quer garantir qual é qual coordenada? Outra dica que fiz falso algum dia é armazenar as coordenadas em longitude, latitude.
O esquema que estou usando é assim:
GeocoordsSchema = new SimpleSchema({
lng: {
type : Number,
decimal: true,
min: -180,
max: 180
},
lat: {
type : Number,
decimal: true,
min: -90,
max: 90
}
});
Agora você cria esquemas aninhados. Basta estender GeocoordsSchema com LocationSchema e adicionar um atributo.
LocationSchema = new SimpleSchema({
type : {
type : String,
autoValue: function() {
return "Point";
}
},
coordinate: {
type: GeocoordsSchema
}
});
Se você deseja ter uma matriz de LocationSchema, pode envolver o esquema entre colchetes [].
BeachesSchema = new SimpleSchema({
loc: {
type: [LocationSchema]
}
});
Eu não testei, mas é assim que eu crio e aninho esquemas diferentes. Bem, esta solução precisa de um identificador de lat e lng. Por que você não deseja prefixar seus dados?