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

दूरी कैसे प्राप्त करें - MongoDB टेम्प्लेट नियर फंक्शन

आप इसे geoNear aggregation के साथ कर सकते हैं . स्प्रिंग-डेटा-मोंगोडब में GeoNearOperation इस एकत्रीकरण का प्रतिनिधित्व कर रहा है।

इनहेरिट करें या बनाएं Place क्षेत्र के साथ वर्ग जहाँ आप दूरी की जानकारी चाहते हैं (उदाहरण विरासत के साथ):

public class PlaceWithDistance extends Place {
    private double distance;

    public double getDistance() {
        return distance;
    }

    public void setDistance(final double distance) {
        this.distance = distance;
    }
}

Criteria . के बजाय Query . के साथ एकत्रीकरण का उपयोग करें। geoNear . का दूसरा तर्क उस क्षेत्र का नाम है जहाँ दूरी निर्धारित की जानी चाहिए:

final NearQuery nearQuery = NearQuery
    .near(new Point(searchRequest.getLat(), searchRequest.getLng()));
nearQuery.num(5);
nearQuery.spherical(true); // if using 2dsphere index, otherwise delete or set false

// "distance" argument is name of field for distance
final Aggregation a = newAggregation(geoNear(nearQuery, "distance"));

final AggregationResults<PlaceWithDistance> results = 
    mongoTemplate.aggregate(a, Place.class, PlaceWithDistance.class);

// results.forEach(System.out::println);
List<PlaceWithDistance> ls = results.getMappedResults();

बस इसे आसान बनाने के लिए - संबद्ध आयात:

import static org.springframework.data.mongodb.core.aggregation.Aggregation.geoNear;
import static org.springframework.data.mongodb.core.aggregation.Aggregation.newAggregation;

import org.springframework.data.mongodb.core.aggregation.Aggregation;
import org.springframework.data.mongodb.core.aggregation.AggregationResults;
import org.springframework.data.mongodb.core.aggregation.GeoNearOperation;
import org.springframework.data.mongodb.core.query.NearQuery;


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. किसी भिन्न डेटाबेस से संग्रह को अद्यतन करना

  2. मोंगोस में स्लेवओके कैसे चलाएं?

  3. जांचें कि क्या फ़ील्ड मान सरणी में बाहर निकलता है - MongoDB

  4. उबंटू में सी ++ के लिए मोंगोडब ड्राइवर कैसे स्थापित करें?

  5. एक ही कथन में एकाधिक मोंगो अद्यतन ऑपरेटर?