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

Permintaan luwak dekat (...) pada bidang yang diindeks 2dsphere tidak mengembalikan hasil yang valid

Sepertinya ini adalah kutu rusa .

Mengubah kueri menjadi menggunakan GeoJSON objek, bukan pasangan koordinat , seperti:

qry.where('loc').near({
    center: {
        type: 'Point',
        coordinates: search.loc
    },
    maxDistance: search.distance * 1000
});

menghasilkan kueri berikut:

Mongoose: models.find({ loc: { '$near': { 
        '$maxDistance': 1,
        '$geometry': { type: 'Point', coordinates: [ 10, -20 ] } } } 
    }) { fields: undefined }  

Pencarian sekarang berhasil.

Dokumen secara eksplisit menampilkan kueri menggunakan pasangan koordinat:

query.where('loc').near({ center: [10, 10], maxDistance: 5 });

Namun, sepertinya ini tidak berhasil, dan contohnya seharusnya:

query.where('loc').near({ center: { coordinates: [10, 10], type: 'Point' }, maxDistance: 5 });



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 3 Cara Mengembalikan Sampel Acak Dokumen dari Koleksi MongoDB

  2. MongoDB:bagaimana cara mengurai tanggal dalam versi 3.6 mongoDb?

  3. Bagaimana cara menanyakan dokumen menggunakan bidang _id di driver Java mongodb?

  4. Perbarui Beberapa Bidang dalam Dokumen MongoDB

  5. MongoDB hapusSatu()