Хм, не знам точно решението за вашия процес на запазване на геокоорди. Но ако искате да запазите lng и lat, трябва да подадете префикс. Защо? Ами геокоордите имат различни диапазони на валидиране. Географска ширина е достъпна само от -90 до 90 и дължина от -180 до 180. Ако не запазите префикс, как искате да сте сигурни коя е коя координата? Друг намек, който направих фалшив някой ден, е да съхраня координатите в реда на дължина, ширина.
Схемата, която използвам, изглежда така:
GeocoordsSchema = new SimpleSchema({
lng: {
type : Number,
decimal: true,
min: -180,
max: 180
},
lat: {
type : Number,
decimal: true,
min: -90,
max: 90
}
});
Сега създавате вложени схеми. Просто разширете GeocoordsSchema с LocationSchema и добавете атрибут.
LocationSchema = new SimpleSchema({
type : {
type : String,
autoValue: function() {
return "Point";
}
},
coordinate: {
type: GeocoordsSchema
}
});
Ако искате да имате масив от LocationSchema, можете да поставите схемата в [] скоби.
BeachesSchema = new SimpleSchema({
loc: {
type: [LocationSchema]
}
});
Не съм тествал, но това е начинът, по който създавам и влагам различни схеми. Ами това решение се нуждае от идентификатор на lat и lng. Защо не искате да префиксирате вашите данни?