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

Truy vấn Mongoose near (...) trên trường được lập chỉ mục 2dsphere không trả về kết quả hợp lệ

Có vẻ như đây là một lỗi moongoose .

Thay đổi truy vấn thành sử dụng GeoJSON đối tượng thay vì một cặp tọa độ , chẳng hạn như:

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

kết quả trong truy vấn sau:

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

Tìm kiếm hiện đã thành công.

Tài liệu hiển thị một cách rõ ràng một truy vấn bằng cách sử dụng một cặp tọa độ:

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

Tuy nhiên, có vẻ như cách này không hoạt động và ví dụ phải là:

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. So sánh các mẫu triển khai cho MongoDB

  2. Thay đổi thư mục lưu trữ dữ liệu MongoDB

  3. MongoDB $ toBool

  4. Lưu trữ luồng dữ liệu từ yêu cầu POST trong GridFS, express, mongoDB, node.js

  5. Cách bảo mật cơ sở dữ liệu nguồn mở của bạn với ClusterControl