MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Truy vấn $ near thông qua Java

Đầu tiên, bạn sẽ cần một maxDistance và một điểm tham chiếu để tính toán gần các tài liệu. Đoạn mã dưới đây cho thấy cách tạo một DBObject để truy vấn gần tài liệu.

double[] coords = new double[2];
long distance = 100;

DBObject query = BasicDBObjectBuilder.start()
    .push("location")
        .add("$maxDistance", distance)
        .push("$near")
            .push("$geometry")
                .add("type", "Point")
                .add("coordinates", coords)
    .get();

Điều này sẽ dẫn đến json:

{
    "location": {
        "$maxDistance": 100,
        "$near": {
            "$geometry": {
                "type": "Point",
                "coordinates": [
                    0,
                    0
                ]
            }
        }
    }
}

Nếu bạn đang sử dụng mongodb 2.2, mã trên sẽ không hoạt động. Tôi phải sử dụng những thứ sau:

double[] coords = new double[2];
long distance = 100;

DBObject query = BasicDBObjectBuilder.start()
    .push("location")
        .add("$maxDistance", distance)
        .add("$near", coords)
    .get();

Json sẽ là:

{
    "location" : {
        "$maxDistance" : 100,
        "$near" : [
            0,
            0
        ]
    }
}

Bạn có thể tìm thêm thông tin về các truy vấn gần đây:

http://docs.mongodb.org/manual/reference/operator/near/




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB C # - Lấy BsonDocument cho một phần tử không tồn tại

  2. MongoDB phân đoạn theo ngày trên một máy

  3. tiêu chí mongoid rails tìm theo hiệp hội

  4. Làm thế nào để cập nhật nếu tồn tại nếu không, chèn tài liệu mới?

  5. Tôi có nên triển khai tự động tăng trong MongoDB không?