MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगो भू स्थान डेटा के लिए उल्का सरल स्कीमा

हम्म मैं भू-कॉर्ड सहेजने की आपकी प्रक्रिया का ठीक-ठीक समाधान नहीं जानता। लेकिन अगर आप 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 के पहचानकर्ता की आवश्यकता है। आप अपने डेटा को प्रीफ़िक्स क्यों नहीं करना चाहते?



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. डॉकर:स्प्रिंग बूट कंटेनर को मोंगो डीबी कंटेनर से जोड़ना

  2. MongoDB रूबी ड्राइवर 2.5.x प्रतिकृति सेट पर होस्टनाम के साथ केस-संवेदनशीलता मुद्दे

  3. शर्त के आधार पर MongoDB एकत्रीकरण में बढ़ते मूल्य के साथ एक फ़ील्ड जोड़ें

  4. कैसेंड्रा बनाम मोंगोडीबी:आपको कौन सा चुनना चाहिए

  5. mongoDB में कुल मिलाकर यह परिणाम कैसे प्राप्त करें?