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

Làm cách nào để tìm địa điểm lân cận với vĩ độ và kinh độ trong mongodb?

Xin chào Đối với trường hợp của bạn, tôi nghĩ bạn nên thay đổi tài liệu bên trên như bên dưới

    {
    "_id" : ObjectId("545749dba2b0b4cf603a7546"),
    "city" : "B",
    "placeName" : "A",
    "loc" : {
        "lon" : 51.10682735591432,
        "lat" : -114.11773681640625
    }
}
{
    "_id" : ObjectId("545749f3a2b0b4cf603a7547"),
    "city" : "B1",
    "placeName" : "A1",
    "loc" : {
        "lon" : 51.09144802136697,
        "lat" : -114.11773681640625
    }
}

Sau đó lập chỉ mục các tài liệu trên như bên dưới

db.collectionName.ensureIndex({loc:"2d"})

Nếu việc lập chỉ mục thực thi đúng cách thì hãy viết truy vấn sau để tìm ra các tài liệu gần đó

db.location.find({loc: {$near:[51,-114]}})

để được trợ giúp thêm, bạn nên tham khảo mongo $ near và $ geoNear này nhấp vào đây

và xin lỗi golang vì tôi không biết nhiều hơn về golang

cho golang

var places []Place
lat := 51.515614
long := -0.268998
err = coll.Find(bson.M{"loc": bson.M{"$near": []float64{long, lat}, "$maxDistance" :      0.056}}).All(&places)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sự khác biệt giữa id và _id trong mongoose là gì?

  2. lựa chọn khác biệt trong lithium

  3. Làm cách nào để hủy bỏ một truy vấn trong trình bao JavaScript mongo

  4. Tôi nên cấu trúc các lệnh gọi Reativemongo lồng nhau trong ứng dụng play2 của mình như thế nào?

  5. Mongoose Date.now time không chính xác