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

Truy vấn MongoDB:$ gần với tổng hợp

Bạn sẽ phải sử dụng $ geoNear và chỉ khi bạn đang sử dụng phiên bản V2.4 trở đi

db.users.aggregate(   
    {$geoNear : {
        near: [-1, -2],
        distanceField: "distance",
        query : {"_id" : "id1"},
        uniqueDocs: true,
        maxDistance : 2000
}})

Chỉnh sửa:sau khi chỉnh sửa câu hỏi

Truy vấn dưới đây sẽ cung cấp cho bạn vị trí và khoảng cách, nhưng không truy xuất nội bộ (phần tử mảng) _id

db.users.aggregate(   
  {$geoNear : {
    near: [-1, -2],
    distanceField: "distance",
    includeLocs: "location",
    query : {"_id" : "id1"},
    maxDistance : 2000
  }},
  {$project : {"location" : 1, "_id" : 0, "distance" : 1}} 
)

Lưu ý việc bổ sung includeLocs và loại bỏ uniqueDocs: true

Để truy xuất _id nội bộ, bạn sẽ phải (theo ví dụ này) thư giãn và chiếu có điều kiện, nhưng tôi nghĩ điều đó không đáng, trừ khi bạn cần địa chỉ thay vì _id




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Khôi phục mongodb trong máy chủ sản xuất sao băng

  2. Làm cách nào để xóa tài liệu khỏi nhiều bộ sưu tập dựa trên ID trong MongoDB?

  3. Làm thế nào để xóa nhiều bộ sưu tập mongodb cùng một lúc?

  4. Làm thế nào để truy vấn tài liệu bằng cách sử dụng trường _id trong trình điều khiển mongodb Java?

  5. Phát triển lược đồ cơ sở dữ liệu để thông báo như facebook