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

mongodb, geoNear और तारीख के आधार पर छँटाई?

$near का उपयोग करने का कोई सीधा तरीका नहीं है या $nearSphere और किसी अन्य फ़ील्ड द्वारा क्रमबद्ध करें, क्योंकि ये दोनों ऑपरेटर पहले से ही find() . करने के परिणामों को सॉर्ट करते हैं . जब आप 'तारीख' के आधार पर फिर से छाँटते हैं, तो आप परिणामों को फिर से छाँट रहे होते हैं। हालांकि, आप $nearSphere . से परिणाम प्राप्त कर सकते हैं वृद्धिशील रूप से, और परिणामों के प्रत्येक सेट को क्रमबद्ध करें। उदाहरण के लिए:

function sortByDate(a, b) { return a.date - b.date; }

// how many results to grab at a time
var itersize = 10;
// this will hold your final, two-way sorted results
var sorted_results = new Array();
for (var i=0, last=db.coll.count(); i<last-itersize; i+=itersize) {
    var results = db.coll.find( {"date":{$gte:date},
                                 // longitude, then latitude
                                 "location":[lng, lat]} ).skip(i).limit(itersize).toArray();
    // do date sorting app-side for each group of nearSphere-sorted results
    sorted_results = sorted_results.concat( results.sort(sortByDate) );
}

आपको मोंगोडब प्रश्नों में भू-स्थानिक निर्देशांक निर्दिष्ट करने के क्रम के बारे में भी पता होना चाहिए। MongoDB geojson का उपयोग करता है spec, जो X, Y, Z क्रम (यानी, देशांतर, अक्षांश) में निर्देशांक करता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगो में उप-दस्तावेज़ अनुक्रमणिका

  2. नेवले की वस्तु से संपत्ति मिलना नामुमकिन

  3. वर्चुअल विशेषता द्वारा Mongoid क्वेरी डीबी

  4. sql . में ग्रुप कॉनकैट के लिए एनालॉग

  5. किसी फ़ील्ड पर $dateFromString का उपयोग करते समय परिणाम में शून्य फ़ील्ड होने से बचें