हम्म मैं भू-कॉर्ड सहेजने की आपकी प्रक्रिया का ठीक-ठीक समाधान नहीं जानता। लेकिन अगर आप 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
}
});
यदि आप स्कीमा को [] कोष्ठक में लपेटने के बजाय स्थान स्कीमा की एक सरणी रखना चाहते हैं।
BeachesSchema = new SimpleSchema({
loc: {
type: [LocationSchema]
}
});
मैंने परीक्षण नहीं किया है, लेकिन जिस तरह से मैं विभिन्न स्कीमा बना और घोंसला करता हूं। वैसे इस समाधान के लिए lat और lng के पहचानकर्ता की आवश्यकता है। आप अपने डेटा को प्रीफ़िक्स क्यों नहीं करना चाहते?