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

MongoDB:टेक्स्ट सर्च और जियोस्पेशियल क्वेरी को मिलाएं

Mongo DB स्वयं एक ही समय में पाठ और भू खोज का समर्थन नहीं करता है।इसे देखें

लेकिन आप क्वेरी को जोड़ सकते हैं और परिणाम प्राप्त कर सकते हैं

समाधान

  1. regex + निकट
const aggregate=YourCollection.aggregation()
aggregate.near({
    near:coord,
    includeLocs: "loc",
    distanceField: "distance",
    maxDistance: distance
});
aggregate.match({name:{$regex:keyword,$options: 'i'}})
aggregate.exec(function(err,yourDocuments){
    //your smart code
}) 
  1. टेक्स्ट सर्च + regex

    var aggregate=YourCollection.aggregate();
    var match= {
      latitude: { $lt: yourCurrentLatitude+maxDistance, $gt: yourCurrentLatitude-maxDistance },
      longitude: { $lt: yourCurrentLongitude+maxDistance, $gt: yourCurrentLongitude-maxDistance },
      {$text:{$search:keyword}}
    };
    
    aggregate.match(match).exec(function(err,yourDocuments){//your smart code})
    
  2. Mapreduce + ( टेक्स्ट सर्च या regex )

YourCollection.mapReduce(map, reduce, {out: {inline:1, query : yourFirstQuery}}, function(err, yourNewCollection) {
// Mapreduce returns the temporary collection with the results
    collection.find(yourNewQuery, function(err, result) {
      //your awsome code
    });
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB एकत्रीकरण के अंदर फ़ील्ड का प्रकार बदलें और क्या $lookup फ़ील्ड पर अनुक्रमणिका का उपयोग करता है या नहीं?

  2. MongoDB में अलग-अलग फ़ील्ड वेट के साथ टेक्स्ट इंडेक्स बनाएं

  3. MongoDB / उल्का के साथ एक सरणी में एक विशिष्ट तत्व अद्यतन कर रहा है

  4. मोंगोडब - ओडीबीसी के माध्यम से कनेक्ट करें

  5. जांचें कि क्या सरणी में प्रत्येक तत्व स्थिति से मेल खाता है