うーん、ジオコードを保存するプロセスの解決策を正確に知りません。ただし、lngとlatを保存する場合は、プレフィックスを渡す必要があります。なんで?ジオコードにはさまざまな検証範囲があります。緯度は-90から90まで、経度は-180から180までしか利用できません。プレフィックスを保存しない場合、どの座標がどちらであるかをどのように確認しますか?私がいつか間違ったことをしたもう1つのヒントは、経度、緯度の順序で座標を保存することです。
私が使用しているスキーマは次のようになります:
GeocoordsSchema = new SimpleSchema({
lng: {
type : Number,
decimal: true,
min: -180,
max: 180
},
lat: {
type : Number,
decimal: true,
min: -90,
max: 90
}
});
次に、ネストされたスキーマを作成します。 LocationSchemaでGeocoodrsSchemaを拡張し、属性を追加するだけです。
LocationSchema = new SimpleSchema({
type : {
type : String,
autoValue: function() {
return "Point";
}
},
coordinate: {
type: GeocoordsSchema
}
});
LocationSchemaの配列が必要な場合は、スキーマを[]角かっこで囲むことができます。
BeachesSchema = new SimpleSchema({
loc: {
type: [LocationSchema]
}
});
私はテストしていませんが、それが私がさまざまなスキーマを作成してネストする方法です。このソリューションには、latとlngの識別子が必要です。データにプレフィックスを付けたくないのはなぜですか?