MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Poligon kueri $geowithin $box mongodb tidak mengembalikan apa pun

Operator $box untuk $geoWithin hanya mendukung dokumen berdasarkan koordinat kisi dan tidak mendukung GeoJSON format bentuk.

Bergantung pada struktur dokumen Anda, dan bagaimana Anda menanyakannya, ini mungkin diperlakukan sebagai koordinat grid yaitu {geometry: [<long>, <lat>]} Ini mungkin tidak berhasil untuk dokumen poligon Anda karena Poligon GeoJSON membutuhkan pembungkus array tambahan. yaitu [[ [<long>, <lat>] ]] membatalkan format koordinat grid.

Jika dokumen Anda dalam format GeoJSON, dan Anda ingin memilih area, Anda dapat menggunakan $geometry alih-alih.

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

Perlu diperhatikan bahwa Kompas MongoDB visualisasi geospasial saat ini (v1.6) belum mendukung GeoJSON.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Masukkan kriteria pencocokan Elemen Array dalam dokumen MongoDB?

  2. Bagaimana cara menangani dokumen melingkar di MongoDB/DynamoDB?

  3. Menghapus item tertentu dari array dengan MongoDB

  4. Cara menggunakan kembali koneksi mongo dengan janji

  5. Pulihkan data Mongodb dari JSON