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

Truy vấn đa giác $ geowithin $ box mongodb không trả về bất kỳ thứ gì

toán tử $ box cho $ geoWithin chỉ hỗ trợ các tài liệu dựa trên tọa độ lưới và không hỗ trợ GeoJSON định dạng hình dạng.

Tùy thuộc vào cấu trúc tài liệu của bạn và cách bạn truy vấn chúng, đây có thể được coi là tọa độ lưới, tức là {geometry: [<long>, <lat>]} Điều này có thể không hiệu quả với tài liệu đa giác của bạn vì Đa giác GeoJSON yêu cầu một trình bao bọc mảng bổ sung. tức là [[ [<long>, <lat>] ]] làm mất hiệu lực của định dạng lưới tọa độ.

Nếu tài liệu của bạn ở định dạng GeoJSON và bạn muốn chọn một khu vực, bạn có thể sử dụng $ hình học thay vì.

db.places.find(
   {
     'geometry': {
       $geoWithin: {
          $geometry: {
             type : "Polygon" ,
             coordinates: [ [ [ 0, 0 ], [ 3, 6 ], [ 6, 1 ], [ 0, 0 ] ] ]
          }
       }
     }
   }
)

Cần lưu ý rằng MongoDB La bàn trực quan hóa không gian địa lý hiện tại (v1.6) chưa hỗ trợ GeoJSON.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để xóa một 'tài liệu' theo 'ID' bằng Trình điều khiển C # Chính thức cho MongoDB?

  2. Cách sử dụng Truy vấn tổng hợp với MongoItemReader trong đợt mùa xuân

  3. Hướng dẫn PyMongo:Kiểm tra chuyển đổi dự phòng MongoDB trong ứng dụng Python của bạn

  4. Tại sao tôi nhận được đối số không được công nhận cho đến dateFromString:'format' mặc dù có phiên bản db> 3.6 hỗ trợ tổng hợp

  5. không thể chạy mongo-connector